haikuwebkit/Source/JavaScriptCore/ftl/FTLOperations.cpp

760 lines
35 KiB
C++
Raw Permalink Normal View History

FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
/*
Move setting of scratch buffer active lengths to the runtime functions. https://bugs.webkit.org/show_bug.cgi?id=227013 rdar://79325068 Reviewed by Keith Miller. We previously emit JIT'ed code to set and unset the ScratchBuffer active length around calls into C++ runtime functions. This was needed because the runtime functions may allow GC to run, and GC needs to be able to scan the values stored in the ScratchBuffer. In this patch, we change it so that the runtime functions that need it will declare an ActiveScratchBufferScope RAII object that will set the ScratchBuffer active length, and unset it on exit. This allows us to: 1. Emit less JIT code. The runtime function can take care of it. 2. Elide setting the ScratchBuffer active length if not needed. The runtime functions know whether they can GC or not. They only need to set the active length if they can GC. Note that scanning of the active ScratchBuffer is done synchronously on the mutator thread via Heap::gatherScratchBufferRoots(), which is called as part of the GC conservative root scan. This means there is no urgency / sequencing that requires that the active length be set before calling into the runtime function. Setting it in the runtime function itself is fine as long as it is done before the function executes any operations that can GC. This patch also made the following changes: 1. Introduce ActiveScratchBufferScope RAII object used to set/unset the ScratchBuffer length in the runtime functions. ActiveScratchBufferScope takes the active length in units of number of stack slots / Registers / JSValues instead of bytes. 2. Deleted ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall() and ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall(). These functions are unused. The reasoning behind what values to pass to ActiveScratchBufferScope, is any: 1. AssemblyHelpers::debugCall() in AssemblyHelpers.cpp: The ScratchBuffer is only used for operationDebugPrintSpeculationFailure(), which now declares an ActiveScratchBufferScope. The active length is GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters. See scratchSize in AssemblyHelpers::debugCall(). 2. genericGenerationThunkGenerator() in FTLThunks.cpp: The scratch buffer size for determining the active length is requiredScratchMemorySizeInBytes(). However, genericGenerationThunkGenerator() generates code to call either operationCompileFTLOSRExit() or operationCompileFTLLazySlowPath(). Both of these functions will DeferGCForAWhile. Hence, GC cannot run, and we don't need to set the active length here. 3. compileArrayPush() in FTLLowerDFGToB3.cpp: Cases Array::Int32, Array::Contiguous, or Array::Double calls operationArrayPushMultiple() or operationArrayPushDoubleMultiple(). For operationArrayPushMultiple(), the active length is elementCount. See computation of scratchSize. For operationArrayPushDoubleMultiple(), we don't need to set the active length because the ScratchBuffer only contains double values. The GC does not need to scan those. Case Array::ArrayStorage calls operationArrayPushMultiple(). The active length is elementCount. See computation of scratchSize. compileNewArray() in FTLLowerDFGToB3.cpp: Calls operationNewArray(). Active length is m_node->numChildren(), which is passed to operationNewArray() as the size parameter. See computation of scratchSize. compileNewArrayWithSpread() in FTLLowerDFGToB3.cpp: Calls operationNewArrayWithSpreadSlow(). Active length is m_node->numChildren(), which is passes to operationNewArrayWithSpreadSlow() as the numItems parameter. See computation of scratchSize. 4. osrExitGenerationThunkGenerator() in DFGThunks.cpp: Calls operationCompileOSRExit(). Active length is GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters. See computation of scratchSize. 5. compileNewArray() in DFGSpeculativeJIT.cpp: Calls operationNewArray(). Active length is node->numChildren(), which is passed in as the size parameter. compileNewArrayWithSpread() in DFGSpeculativeJIT.cpp: Calls operationNewArrayWithSpreadSlow(). Active length is node->numChildren(), which is passed in as the numItems parameter. compileArrayPush() in DFGSpeculativeJIT.cpp: Calls operationArrayPushMultiple(). Active length is elementCount, which is passed in as the elementCount parameter. Calls operationArrayPushDoubleMultiple(). Active length is elementCount, but we don't need to set it because the ScratchBuffer only contains double values. * dfg/DFGOSRExit.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArrayPush): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitGenerationThunkGenerator): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::debugCall): * jit/ScratchRegisterAllocator.cpp: (JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall): Deleted. (JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall): Deleted. * jit/ScratchRegisterAllocator.h: * runtime/VM.h: * runtime/VMInlines.h: (JSC::ActiveScratchBufferScope::ActiveScratchBufferScope): (JSC::ActiveScratchBufferScope::~ActiveScratchBufferScope): Canonical link: https://commits.webkit.org/238819@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-15 16:09:27 +00:00
* Copyright (C) 2014-2021 Apple Inc. All rights reserved.
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
#include "FTLOperations.h"
#if ENABLE(FTL_JIT)
#include "BytecodeStructs.h"
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
#include "ClonedArguments.h"
#include "CommonSlowPaths.h"
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
#include "DirectArguments.h"
FTL should generate code to call slow paths lazily https://bugs.webkit.org/show_bug.cgi?id=149936 Reviewed by Saam Barati. Source/JavaScriptCore: We often have complex slow paths in FTL-generated code. Those slow paths may never run. Even if they do run, they don't need stellar performance. So, it doesn't make sense to have LLVM worry about compiling such slow path code. This patch enables us to use our own MacroAssembler for compiling the slow path inside FTL code. It does this by using a crazy lambda thingy (see FTLLowerDFGToLLVM.cpp's lazySlowPath() and its documentation). The result is quite natural to use. Even for straight slow path calls via something like vmCall(), the lazySlowPath offers the benefit that the call marshalling and the exception checking are not expressed using LLVM IR and do not require LLVM to think about it. It also has the benefit that we never generate the code if it never runs. That's great, since function calls usually involve ~10 instructions total (move arguments to argument registers, make the call, check exception, etc.). This patch adds the lazy slow path abstraction and uses it for some slow paths in the FTL. The code we generate with lazy slow paths is worse than the code that LLVM would have generated. Therefore, a lazy slow path only makes sense when we have strong evidence that the slow path will execute infrequently relative to the fast path. This completely precludes the use of lazy slow paths for out-of-line Nodes that unconditionally call a C++ function. It also precludes their use for the GetByVal out-of-bounds handler, since when we generate a GetByVal with an out-of-bounds handler it means that we only know that the out-of-bounds case executed at least once. So, for all we know, it may actually be the common case. So, this patch just deployed the lazy slow path for GC slow paths and masquerades-as-undefined slow paths. It makes sense for GC slow paths because those have a statistical guarantee of slow path frequency - probably bounded at less than 1/10. It makes sense for masquerades-as- undefined because we can say quite confidently that this is an uncommon scenario on the modern Web. Something that's always been challenging about abstractions involving the MacroAssembler is that linking is a separate phase, and there is no way for someone who is just given access to the MacroAssembler& to emit code that requires linking, since linking happens once we have emitted all code and we are creating the LinkBuffer. Moreover, the FTL requires that the final parts of linking happen on the main thread. This patch ran into this issue, and solved it comprehensively, by introducing MacroAssembler::addLinkTask(). This takes a lambda and runs it at the bitter end of linking - when performFinalization() is called. This ensure that the task added by addLinkTask() runs on the main thread. This patch doesn't replace all of the previously existing idioms for dealing with this issue; we can do that later. This shows small speed-ups on a bunch of things. No big win on any benchmark aggregate. But mainly this is done for https://bugs.webkit.org/show_bug.cgi?id=149852, where we found that outlining the slow path in this way was a significant speed boost. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::replaceWithAddressComputation): (JSC::AbstractMacroAssembler::addLinkTask): (JSC::AbstractMacroAssembler::AbstractMacroAssembler): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::linkCode): (JSC::LinkBuffer::allocate): (JSC::LinkBuffer::performFinalization): * assembler/LinkBuffer.h: (JSC::LinkBuffer::wasAlreadyDisassembled): (JSC::LinkBuffer::didAlreadyDisassemble): (JSC::LinkBuffer::vm): (JSC::LinkBuffer::executableOffsetFor): * bytecode/CodeOrigin.h: (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::isSet): (JSC::CodeOrigin::operator bool): (JSC::CodeOrigin::isHashTableDeletedValue): (JSC::CodeOrigin::operator!): Deleted. * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): (JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor): * ftl/FTLJITCode.h: * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeFunction): * ftl/FTLJITFinalizer.h: * ftl/FTLLazySlowPath.cpp: Added. (JSC::FTL::LazySlowPath::LazySlowPath): (JSC::FTL::LazySlowPath::~LazySlowPath): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: Added. (JSC::FTL::LazySlowPath::createGenerator): (JSC::FTL::LazySlowPath::patchpoint): (JSC::FTL::LazySlowPath::usedRegisters): (JSC::FTL::LazySlowPath::callSiteIndex): (JSC::FTL::LazySlowPath::stub): * ftl/FTLLazySlowPathCall.h: Added. (JSC::FTL::createLazyCallGenerator): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope): (JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileIn): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer): (JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToLLVM::allocateObject): (JSC::FTL::DFG::LowerDFGToLLVM::allocateJSArray): (JSC::FTL::DFG::LowerDFGToLLVM::buildTypeOf): (JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32): (JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath): (JSC::FTL::DFG::LowerDFGToLLVM::speculate): (JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::SlowPathCallContext): (JSC::FTL::SlowPathCallContext::~SlowPathCallContext): (JSC::FTL::SlowPathCallContext::keyWithTarget): (JSC::FTL::SlowPathCallContext::makeCall): (JSC::FTL::callSiteIndexForCodeOrigin): (JSC::FTL::storeCodeOrigin): Deleted. (JSC::FTL::callOperation): Deleted. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLState.h: * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::registerClobberCheck): * ftl/FTLThunks.h: * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool): (JSC::CallSiteIndex::bits): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JITOperations.cpp: Source/WTF: Enables SharedTask to handle any function type, not just void(). It's probably better to use SharedTask instead of std::function in performance-sensitive code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc and has aliasing semantics. So, you can just trust that it will have sensible performance characteristics. * wtf/ParallelHelperPool.cpp: (WTF::ParallelHelperClient::~ParallelHelperClient): (WTF::ParallelHelperClient::setTask): (WTF::ParallelHelperClient::doSomeHelping): (WTF::ParallelHelperClient::runTaskInParallel): (WTF::ParallelHelperClient::finish): (WTF::ParallelHelperClient::claimTask): (WTF::ParallelHelperClient::runTask): (WTF::ParallelHelperPool::doSomeHelping): (WTF::ParallelHelperPool::helperThreadBody): * wtf/ParallelHelperPool.h: (WTF::ParallelHelperClient::setFunction): (WTF::ParallelHelperClient::runFunctionInParallel): (WTF::ParallelHelperClient::pool): * wtf/SharedTask.h: (WTF::createSharedTask): (WTF::SharedTask::SharedTask): Deleted. (WTF::SharedTask::~SharedTask): Deleted. (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted. Canonical link: https://commits.webkit.org/168154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-10-12 17:56:26 +00:00
#include "FTLJITCode.h"
#include "FTLLazySlowPath.h"
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
#include "FrameTracers.h"
Split InlineCallFrame into its own file https://bugs.webkit.org/show_bug.cgi?id=148131 Reviewed by Saam Barati. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/CallLinkStatus.cpp: * bytecode/CodeBlock.h: (JSC::ExecState::r): (JSC::baselineCodeBlockForInlineCallFrame): Deleted. (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): Deleted. * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineStack): (JSC::CodeOrigin::codeOriginOwner): (JSC::CodeOrigin::stackOffset): (JSC::CodeOrigin::dump): (JSC::CodeOrigin::dumpInContext): (JSC::InlineCallFrame::calleeConstant): Deleted. (JSC::InlineCallFrame::visitAggregate): Deleted. (JSC::InlineCallFrame::calleeForCallFrame): Deleted. (JSC::InlineCallFrame::hash): Deleted. (JSC::InlineCallFrame::hashAsStringIfPossible): Deleted. (JSC::InlineCallFrame::inferredName): Deleted. (JSC::InlineCallFrame::baselineCodeBlock): Deleted. (JSC::InlineCallFrame::dumpBriefFunctionInformation): Deleted. (JSC::InlineCallFrame::dumpInContext): Deleted. (JSC::InlineCallFrame::dump): Deleted. (WTF::printInternal): Deleted. * bytecode/CodeOrigin.h: (JSC::CodeOrigin::deletedMarker): (JSC::CodeOrigin::hash): (JSC::CodeOrigin::operator==): (JSC::CodeOriginHash::hash): (JSC::CodeOriginHash::equal): (JSC::InlineCallFrame::kindFor): Deleted. (JSC::InlineCallFrame::varargsKindFor): Deleted. (JSC::InlineCallFrame::specializationKindFor): Deleted. (JSC::InlineCallFrame::isVarargs): Deleted. (JSC::InlineCallFrame::InlineCallFrame): Deleted. (JSC::InlineCallFrame::specializationKind): Deleted. (JSC::InlineCallFrame::setStackOffset): Deleted. (JSC::InlineCallFrame::callerFrameOffset): Deleted. (JSC::InlineCallFrame::returnPCOffset): Deleted. (JSC::CodeOrigin::stackOffset): Deleted. (JSC::CodeOrigin::codeOriginOwner): Deleted. * bytecode/InlineCallFrame.cpp: Copied from Source/JavaScriptCore/bytecode/CodeOrigin.cpp. (JSC::InlineCallFrame::calleeConstant): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. (JSC::CodeOrigin::inlineDepth): Deleted. (JSC::CodeOrigin::isApproximatelyEqualTo): Deleted. (JSC::CodeOrigin::approximateHash): Deleted. (JSC::CodeOrigin::inlineStack): Deleted. (JSC::CodeOrigin::dump): Deleted. (JSC::CodeOrigin::dumpInContext): Deleted. * bytecode/InlineCallFrame.h: Copied from Source/JavaScriptCore/bytecode/CodeOrigin.h. (JSC::InlineCallFrame::isVarargs): (JSC::InlineCallFrame::InlineCallFrame): (JSC::InlineCallFrame::specializationKind): (JSC::baselineCodeBlockForInlineCallFrame): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::CodeOrigin): Deleted. (JSC::CodeOrigin::isSet): Deleted. (JSC::CodeOrigin::operator!): Deleted. (JSC::CodeOrigin::isHashTableDeletedValue): Deleted. (JSC::CodeOrigin::operator!=): Deleted. (JSC::CodeOrigin::deletedMarker): Deleted. (JSC::CodeOrigin::stackOffset): Deleted. (JSC::CodeOrigin::hash): Deleted. (JSC::CodeOrigin::operator==): Deleted. (JSC::CodeOrigin::codeOriginOwner): Deleted. (JSC::CodeOriginHash::hash): Deleted. (JSC::CodeOriginHash::equal): Deleted. (JSC::CodeOriginApproximateHash::hash): Deleted. (JSC::CodeOriginApproximateHash::equal): Deleted. * bytecode/InlineCallFrameSet.cpp: * dfg/DFGCommonData.cpp: * dfg/DFGOSRExitBase.cpp: * dfg/DFGVariableEventStream.cpp: * ftl/FTLOperations.cpp: * interpreter/CallFrame.cpp: * interpreter/StackVisitor.cpp: * jit/AssemblyHelpers.h: * profiler/ProfilerOriginStack.cpp: * runtime/ClonedArguments.cpp: Canonical link: https://commits.webkit.org/166243@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-08-18 18:28:54 +00:00
#include "InlineCallFrame.h"
[JSC] Introduce JSArrayIterator https://bugs.webkit.org/show_bug.cgi?id=204043 Reviewed by Yusuke Suzuki. JSTests: * stress/array-iterator-materialize-at-osr-exit.js: Added. (shouldBe): (test): * stress/array-iterator-materialize-one-path.js: Added. (shouldBe): (test): * stress/array-iterator-materialize.js: Added. (shouldBe): (test): * stress/array-iterator-sinking.js: Added. (shouldBe): (test): * stress/array-iterators-next-error-messages.js: (catch): * stress/array-iterators-next-with-call.js: * stress/for-of-iteration.js: Added. (shouldBe): (test1): (test2): (test3): * stress/typedarray-functions-with-neutered.js: (checkProtoFunc): Source/JavaScriptCore: This patch introduces JSArrayIterator that changes the iterator object from a JSFinalObject to an InternalFieldsObject. This makes accessing it much easier from C++ code and makes the iterator object smaller. It also means that the JS code for the next function is much simpler and can *almost* be inlined without shenanigans. As part of this patch the keys/values/entries functions have been converted to C++ with intrinsics since that's slightly more efficient in the LLInt/Baseline. Lastly, this patch also add a custom ISOSubspace for JSArrayIterator objects. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/ArrayIteratorPrototype.js: (next): (globalPrivate.arrayIteratorNextHelper): (globalPrivate.arrayIteratorValueNext): Deleted. (globalPrivate.arrayIteratorKeyNext): Deleted. (globalPrivate.arrayIteratorKeyValueNext): Deleted. * builtins/ArrayPrototype.js: (globalPrivate.ArrayIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/TypedArrayPrototype.js: (values): Deleted. (keys): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsArrayIterator): * bytecompiler/NodesCodegen.cpp: (JSC::arrayIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_isGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isPromise): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isUndefinedOrNull): Deleted. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::convertToPhantomNewArrayIterator): (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCheckNeutered): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileCheckArray): (JSC::FTL::DFG::LowerDFGToB3::compileCheckNeutered): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneArrayIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::createArrayIteratorObject): (JSC::arrayProtoFuncValues): (JSC::arrayProtoFuncEntries): (JSC::arrayProtoFuncKeys): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/IterationKind.h: (): Deleted. * runtime/JSArrayIterator.cpp: Added. (JSC::JSArrayIterator::create): (JSC::JSArrayIterator::createWithInitialValues): (JSC::JSArrayIterator::createStructure): (JSC::JSArrayIterator::JSArrayIterator): (JSC::JSArrayIterator::finishCreation): (JSC::JSArrayIterator::visitChildren): * runtime/JSArrayIterator.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::arrayIteratorPrototype const): (JSC::JSGlobalObject::arrayIteratorStructure const): * runtime/JSMapIterator.h: * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::createTypedArrayIteratorObject): (JSC::typedArrayViewProtoFuncValues): (JSC::typedArrayProtoViewFuncEntries): (JSC::typedArrayViewProtoFuncKeys): (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/VM.cpp: * runtime/VM.h: Source/WebCore: JSDOMIterator should just use the JSC IterationKind enum. Also, update other files for the enum member name changes. * bindings/js/JSDOMIterator.h: (WebCore::IteratorTraits>::asJS): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateIterableDefinition): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::jsTestInterfacePrototypeFunctionEntriesCaller): (WebCore::jsTestInterfacePrototypeFunctionKeysCaller): (WebCore::jsTestInterfacePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionValuesCaller): LayoutTests: Change the labels of iteration kinds to match what JS refers to them as. * inspector/model/remote-object/iterator-expected.txt: * inspector/model/remote-object/iterator-large-expected.txt: * inspector/model/remote-object/iterators-mutated-expected.txt: Canonical link: https://commits.webkit.org/219108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-09 06:07:29 +00:00
#include "JSArrayIterator.h"
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
#include "JSAsyncFunction.h"
[ESNext] Async iteration - Implement Async Generator - runtime https://bugs.webkit.org/show_bug.cgi?id=175240 Reviewed by Yusuke Suzuki. JSTests: * stress/async-iteration-async-from-sync.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (foo): (async.boo): (bar): (async.baz): (async.goo): * stress/async-iteration-basic.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.generator): (iterator.next.then): (async.baz): (async.boo): (async.foo): (async.goo): (A.prototype.async.foo): (A.prototype.async.boo): (A): (asyncGenExp.async): (async.joo): (j.next.then): (then): (async.koo): (async.loo): (async.moo): (async.noo): (async.ooo): (async.roo): (async.poo): (async.soo): (async.too): * stress/async-iteration-evaluation.js: Added. (assert): (async.foo): (catch): * stress/async-iteration-syntax.js: * stress/async-iteration-yield-promise.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): * stress/async-iteration-yield-star-interface.js: Added. (assert): (const.getPromise.promiseHolder.return.new.Promise): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.foo): (asyncIter.Symbol.asyncIterator): (asyncIter.next): (async.boo): (asyncIter.return): (async.bar): (async.baz): (async.foobar): * stress/async-iteration-yield-star.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): (async.baz): (async.joo): (async.goo): (async.koo): (async.loo): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.moo): (async.noo): * test262.yaml: Source/JavaScriptCore: Current implementation is draft version of Async Iteration. Link to spec https://tc39.github.io/proposal-async-iteration/ To implement async generator added new states that show reason why async generator was suspended: The main difference between async function and async generator is that, async function returns promise but async generator returns object with methods (next, throw and return) that return promise that can be resolved with pair of properties value and done. Async generator functions are similar to generator functions, with the following differences: whose methods (next, throw, and return) return promises for { value, done }, instead of directly returning { value, done }. This automatically makes the returned async generator objects async iterators. delegation to sync and async iterables * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/AsyncFromSyncIteratorPrototype.js: Added. (next.try): (next): (return.try): (return): (throw.try): (throw): (globalPrivate.createAsyncFromSyncIterator): (globalPrivate.AsyncFromSyncIteratorConstructor): * builtins/AsyncGeneratorPrototype.js: Added. (globalPrivate.createAsyncGeneratorQueue): (globalPrivate.asyncGeneratorQueueIsEmpty): (globalPrivate.asyncGeneratorQueueCreateItem): (globalPrivate.asyncGeneratorQueueEnqueue): (globalPrivate.asyncGeneratorQueueDequeue): (globalPrivate.asyncGeneratorQueueGetFirstValue): (globalPrivate.asyncGeneratorDequeue): (globalPrivate.isExecutionState): (globalPrivate.isSuspendYieldState): (globalPrivate.asyncGeneratorReject): (globalPrivate.asyncGeneratorResolve): (asyncGeneratorYieldAwaited): (globalPrivate.asyncGeneratorYield): (const.onRejected): (globalPrivate.awaitValue): (const.onFulfilled): (globalPrivate.doAsyncGeneratorBodyCall): (globalPrivate.asyncGeneratorResumeNext.): (globalPrivate.asyncGeneratorResumeNext): (globalPrivate.asyncGeneratorEnqueue): (next): (return): (throw): * builtins/AsyncIteratorPrototype.js: Added. (symbolAsyncIteratorGetter): * builtins/BuiltinNames.h: * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::dumpBytecode): * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecode/BytecodeList.json: * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitCreateAsyncGeneratorQueue): (JSC::BytecodeGenerator::emitPutAsyncGeneratorFields): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitIteratorNextWithValue): (JSC::BytecodeGenerator::emitIteratorClose): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitCallIterator): (JSC::BytecodeGenerator::emitAwait): (JSC::BytecodeGenerator::emitGetIterator): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ReturnNode::emitBytecode): (JSC::FunctionNode::emitBytecode): (JSC::YieldExprNode::emitBytecode): (JSC::AwaitExprNode::emitBytecode): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_async_generator_func_exp): * jit/JITOperations.cpp: * jit/JITOperations.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * parser/ASTBuilder.h: (JSC::ASTBuilder::createFunctionMetadata): * runtime/AsyncFromSyncIteratorPrototype.cpp: Added. (JSC::AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype): (JSC::AsyncFromSyncIteratorPrototype::finishCreation): (JSC::AsyncFromSyncIteratorPrototype::create): * runtime/AsyncFromSyncIteratorPrototype.h: Added. (JSC::AsyncFromSyncIteratorPrototype::createStructure): * runtime/AsyncGeneratorFunctionConstructor.cpp: Added. (JSC::AsyncGeneratorFunctionConstructor::AsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::finishCreation): (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::getCallData): (JSC::AsyncGeneratorFunctionConstructor::getConstructData): * runtime/AsyncGeneratorFunctionConstructor.h: Added. (JSC::AsyncGeneratorFunctionConstructor::create): (JSC::AsyncGeneratorFunctionConstructor::createStructure): * runtime/AsyncGeneratorFunctionPrototype.cpp: Added. (JSC::AsyncGeneratorFunctionPrototype::AsyncGeneratorFunctionPrototype): (JSC::AsyncGeneratorFunctionPrototype::finishCreation): * runtime/AsyncGeneratorFunctionPrototype.h: Added. (JSC::AsyncGeneratorFunctionPrototype::create): (JSC::AsyncGeneratorFunctionPrototype::createStructure): * runtime/AsyncGeneratorPrototype.cpp: Added. (JSC::AsyncGeneratorPrototype::finishCreation): * runtime/AsyncGeneratorPrototype.h: Added. (JSC::AsyncGeneratorPrototype::create): (JSC::AsyncGeneratorPrototype::createStructure): (JSC::AsyncGeneratorPrototype::AsyncGeneratorPrototype): * runtime/AsyncIteratorPrototype.cpp: Added. (JSC::AsyncIteratorPrototype::finishCreation): * runtime/AsyncIteratorPrototype.h: Added. (JSC::AsyncIteratorPrototype::create): (JSC::AsyncIteratorPrototype::createStructure): (JSC::AsyncIteratorPrototype::AsyncIteratorPrototype): * runtime/CommonIdentifiers.h: * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.h: * runtime/JSAsyncGeneratorFunction.cpp: Added. (JSC::JSAsyncGeneratorFunction::JSAsyncGeneratorFunction): (JSC::JSAsyncGeneratorFunction::createImpl): (JSC::JSAsyncGeneratorFunction::create): (JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSAsyncGeneratorFunction.h: Added. (JSC::JSAsyncGeneratorFunction::allocationSize): (JSC::JSAsyncGeneratorFunction::createStructure): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncIteratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionStructure const): * runtime/Options.h: LayoutTests: * js/Object-getOwnPropertyNames-expected.txt: * js/script-tests/Object-getOwnPropertyNames.js: Canonical link: https://commits.webkit.org/192535@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 17:05:33 +00:00
#include "JSAsyncGeneratorFunction.h"
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
#include "JSCInlines.h"
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=152227 Reviewed by Saam Barati. Source/JavaScriptCore: This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL. We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure. The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different __proto__. Instead of extending NewFunction / PhantomNewFunction, we just added new DFG nodes, NewGeneratorFunction and PhantomNewGeneratorFunction. This is because NewGeneratorFunction will generate an object that has different class info from JSFunction (And if JSGeneratorFunction is extended, its size will become different from JSFunction). So, rather than extending NewFunction with generator flag, just adding new DFG nodes seems cleaner. Object allocation sinking phase will change NewGeneratorFunction to PhantomNewGeneratorFunction and defer or eliminate its actual materialization. It is completely the same to NewFunction and PhantomNewFunction. And when OSR exit occurs, we need to execute deferred NewGeneratorFunction since Baseline JIT does not consider it. So in FTL operation, we should create JSGeneratorFunction if we see PhantomNewGeneratorFunction materialization. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): (JSC::DFG::Validate::validateSSA): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileNode): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/generator-function-create-optimized.js: Added. (shouldBe): (g): (test.return.gen): (test): (test2.gen): (test2): * tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-declaration-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-declaration-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-expression-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): * tests/stress/generator-function-expression-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): LayoutTests: Make the test taking longer time. * js/regress/script-tests/generator-function-create.js: (test): Canonical link: https://commits.webkit.org/170493@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-12-17 10:33:08 +00:00
#include "JSGeneratorFunction.h"
We should have a CoW storage for NewArrayBuffer arrays. https://bugs.webkit.org/show_bug.cgi?id=185003 Reviewed by Filip Pizlo. JSTests: * stress/cow-convert-contiguous-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-double-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-double-to-contiguous.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-contiguous.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-double.js: Added. (createBuffer): (shouldBe): (test): * stress/put-on-cow-prototype.js: Added. (putByVal): (putById): Source/JavaScriptCore: This patch adds copy on write storage for new array buffers. In order to do this there needed to be significant changes to the layout of IndexingType. The new indexing type has the following shape: struct IndexingTypeAndMisc { struct IndexingModeIncludingHistory { struct IndexingMode { struct IndexingType { uint8_t isArray:1; // bit 0 uint8_t shape:3; // bit 1 - 3 }; uint8_t copyOnWrite:1; // bit 4 }; uint8_t mayHaveIndexedAccessors:1; // bit 5 }; uint8_t cellLockBits:2; // bit 6 - 7 }; For simplicity ArrayStorage shapes cannot be CoW. So the only valid CoW indexing shapes are ArrayWithInt32, ArrayWithDouble, and ArrayWithContiguous. The backing store for a CoW array is a new class JSImmutableButterfly, which looks exactly the same as a normal butterfly except that it has a JSCell header. Like other butterflies, JSImmutableButterfies are allocated out of the Auxiliary Gigacage and are pointed to by JSCells in the same way. However, when marking JSImmutableButterflies they are marked as if they were a property. With CoW arrays, the new_array_buffer bytecode will reallocate the shared JSImmutableButterfly if it sees from the allocation profile that the last array it allocated has transitioned to a different indexing type. From then on, all arrays created by that new_array_buffer bytecode will have the promoted indexing type. This is more or less the same as what we used to do. The only difference is that we don't promote all the way to array storage even if we have seen it before. Transitioning from a CoW indexing mode occurs whenever someone tries to store to an element, grow the array, or add properties. Storing or growing the array will call into code that does the stupid thing of copying the butterfly then continue into the old code. This doesn't end up costing us as future allocations will use any upgraded indexing shape. We get adding properties for free by just changing the indexing mode on transition (our C++ code always updates the indexing mode). * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecode/ArrayAllocationProfile.cpp: (JSC::ArrayAllocationProfile::updateProfile): * bytecode/ArrayAllocationProfile.h: (JSC::ArrayAllocationProfile::initializeIndexingMode): * bytecode/ArrayProfile.cpp: (JSC::dumpArrayModes): (JSC::ArrayProfile::briefDescriptionWithoutUpdating): * bytecode/ArrayProfile.h: (JSC::asArrayModes): (JSC::arrayModeFromStructure): (JSC::arrayModesInclude): (JSC::hasSeenCopyOnWriteArray): * bytecode/BytecodeList.json: * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * bytecode/InlineAccess.cpp: (JSC::InlineAccess::generateArrayLength): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::addArrayAllocationProfile): (JSC::UnlinkedCodeBlock::decompressArrayAllocationProfile): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::newArrayAllocationProfile): (JSC::BytecodeGenerator::emitNewArrayBuffer): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewArrayWithSize): (JSC::BytecodeGenerator::emitExpectedFunctionSnippet): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ArrayNode::emitBytecode): (JSC::ArrayPatternNode::bindValue const): (JSC::ArrayPatternNode::emitDirectBinding): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::fromObserved): (JSC::DFG::ArrayMode::refine const): (JSC::DFG::ArrayMode::alreadyChecked const): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::ArrayMode): (JSC::DFG::ArrayMode::action const): (JSC::DFG::ArrayMode::withSpeculation const): (JSC::DFG::ArrayMode::withArrayClass const): (JSC::DFG::ArrayMode::withType const): (JSC::DFG::ArrayMode::withConversion const): (JSC::DFG::ArrayMode::withTypeAndConversion const): (JSC::DFG::ArrayMode::arrayModesThatPassFiltering const): (JSC::DFG::ArrayMode::arrayModesWithIndexingShape const): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleIntrinsicGetter): (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion): (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGNode.h: (JSC::DFG::Node::indexingType): (JSC::DFG::Node::indexingMode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::compileExit): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateRawObject): (JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode): (JSC::DFG::SpeculativeJIT::arrayify): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compilePutStructure): (JSC::FTL::DFG::LowerDFGToB3::compileArraySlice): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::storeStructure): (JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generate-bytecode-files: * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/JITOperations.cpp: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitSlow_op_put_by_val): * jit/Repatch.cpp: (JSC::tryCachePutByID): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * runtime/Butterfly.h: (JSC::ContiguousData::Data::Data): (JSC::ContiguousData::Data::operator bool const): (JSC::ContiguousData::Data::operator=): (JSC::ContiguousData::Data::operator const T& const): (JSC::ContiguousData::Data::set): (JSC::ContiguousData::Data::setWithoutWriteBarrier): (JSC::ContiguousData::Data::clear): (JSC::ContiguousData::Data::get const): (JSC::ContiguousData::atUnsafe): (JSC::ContiguousData::at const): Deleted. (JSC::ContiguousData::at): Deleted. * runtime/ButterflyInlines.h: (JSC::ContiguousData<T>::at const): (JSC::ContiguousData<T>::at): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::allocateNewArrayBuffer): * runtime/IndexingType.cpp: (JSC::leastUpperBoundOfIndexingTypeAndType): (JSC::leastUpperBoundOfIndexingTypeAndValue): (JSC::dumpIndexingType): * runtime/IndexingType.h: (JSC::hasIndexedProperties): (JSC::hasUndecided): (JSC::hasInt32): (JSC::hasDouble): (JSC::hasContiguous): (JSC::hasArrayStorage): (JSC::hasAnyArrayStorage): (JSC::hasSlowPutArrayStorage): (JSC::shouldUseSlowPut): (JSC::isCopyOnWrite): (JSC::arrayIndexFromIndexingType): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::put): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): * runtime/JSArrayInlines.h: (JSC::JSArray::pushInline): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::JSCell): (JSC::JSCell::finishCreation): (JSC::JSCell::indexingType const): (JSC::JSCell::indexingMode const): (JSC::JSCell::setStructure): * runtime/JSFixedArray.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::haveABadTime): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::originalArrayStructureForIndexingType const): (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::JSGlobalObject::isOriginalArrayStructure): * runtime/JSImmutableButterfly.cpp: Added. (JSC::JSImmutableButterfly::visitChildren): (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: Added. (JSC::JSImmutableButterfly::createStructure): (JSC::JSImmutableButterfly::tryCreate): (JSC::JSImmutableButterfly::create): (JSC::JSImmutableButterfly::publicLength const): (JSC::JSImmutableButterfly::vectorLength const): (JSC::JSImmutableButterfly::length const): (JSC::JSImmutableButterfly::toButterfly const): (JSC::JSImmutableButterfly::fromButterfly): (JSC::JSImmutableButterfly::get const): (JSC::JSImmutableButterfly::subspaceFor): (JSC::JSImmutableButterfly::setIndex): (JSC::JSImmutableButterfly::allocationSize): (JSC::JSImmutableButterfly::JSImmutableButterfly): * runtime/JSObject.cpp: (JSC::JSObject::markAuxiliaryAndVisitOutOfLineProperties): (JSC::JSObject::visitButterflyImpl): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::JSObject::putByIndex): (JSC::JSObject::createInitialInt32): (JSC::JSObject::createInitialDouble): (JSC::JSObject::createInitialContiguous): (JSC::JSObject::convertUndecidedToInt32): (JSC::JSObject::convertUndecidedToDouble): (JSC::JSObject::convertUndecidedToContiguous): (JSC::JSObject::convertInt32ToDouble): (JSC::JSObject::convertInt32ToArrayStorage): (JSC::JSObject::convertDoubleToContiguous): (JSC::JSObject::convertDoubleToArrayStorage): (JSC::JSObject::convertContiguousToArrayStorage): (JSC::JSObject::createInitialForValueAndSet): (JSC::JSObject::convertInt32ForValue): (JSC::JSObject::convertFromCopyOnWrite): (JSC::JSObject::ensureWritableInt32Slow): (JSC::JSObject::ensureWritableDoubleSlow): (JSC::JSObject::ensureWritableContiguousSlow): (JSC::JSObject::ensureArrayStorageSlow): (JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode): (JSC::JSObject::switchToSlowPutArrayStorage): (JSC::JSObject::deletePropertyByIndex): (JSC::JSObject::getOwnPropertyNames): (JSC::canDoFastPutDirectIndex): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::countElements): (JSC::JSObject::ensureLengthSlow): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::ensureInt32Slow): Deleted. (JSC::JSObject::ensureDoubleSlow): Deleted. (JSC::JSObject::ensureContiguousSlow): Deleted. * runtime/JSObject.h: (JSC::JSObject::putDirectIndex): (JSC::JSObject::canGetIndexQuickly): (JSC::JSObject::getIndexQuickly): (JSC::JSObject::tryGetIndexQuickly const): (JSC::JSObject::canSetIndexQuickly): (JSC::JSObject::setIndexQuickly): (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): (JSC::JSObject::ensureWritableInt32): (JSC::JSObject::ensureWritableDouble): (JSC::JSObject::ensureWritableContiguous): (JSC::JSObject::ensureLength): (JSC::JSObject::ensureInt32): Deleted. (JSC::JSObject::ensureDouble): Deleted. (JSC::JSObject::ensureContiguous): Deleted. * runtime/JSObjectInlines.h: (JSC::JSObject::putDirectInternal): * runtime/JSType.h: * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): * runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::addNewPropertyTransition): (JSC::Structure::nonPropertyTransition): * runtime/Structure.h: * runtime/StructureIDBlob.h: (JSC::StructureIDBlob::StructureIDBlob): (JSC::StructureIDBlob::indexingModeIncludingHistory const): (JSC::StructureIDBlob::setIndexingModeIncludingHistory): (JSC::StructureIDBlob::indexingModeIncludingHistoryOffset): (JSC::StructureIDBlob::indexingTypeIncludingHistory const): Deleted. (JSC::StructureIDBlob::setIndexingTypeIncludingHistory): Deleted. (JSC::StructureIDBlob::indexingTypeIncludingHistoryOffset): Deleted. * runtime/StructureTransitionTable.h: (JSC::newIndexingType): * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WebCore: * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convertArray): LayoutTests: Test should have a real error that gives you the stack. * js/slow-stress/script-tests/variadic-closure-call.js: Canonical link: https://commits.webkit.org/201321@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-22 18:04:31 +00:00
#include "JSImmutableButterfly.h"
[JSC] Replace DFG NewPromise with NewInternalFieldObject https://bugs.webkit.org/show_bug.cgi?id=210687 Reviewed by Saam Barati. The feature of DFG::NewPromise can be implemented completely with DFG::NewInternalFieldObject. This reduces code duplication, and furthermore, this offers Object Allocation Sinking support for free. This patch replaces DFG::NewPromise with DFG::NewInternalFieldObject and remove DFG::NewPromise completely. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToNewInternalFieldObject): (JSC::DFG::Node::convertToNewInternalFieldObjectWithInlineFields): (JSC::DFG::Node::hasIsInternalPromise): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::convertToNewPromise): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::createWithInitialValues): * runtime/JSInternalPromise.h: * runtime/JSPromise.cpp: (JSC::JSPromise::createWithInitialValues): (JSC::JSPromise::finishCreation): (JSC::JSPromise::status const): (JSC::JSPromise::result const): (JSC::JSPromise::flags const): (JSC::JSPromise::resolve): (JSC::JSPromise::reject): (JSC::JSPromise::rejectAsHandled): * runtime/JSPromise.h: (JSC::JSPromise::initialValues): (JSC::JSPromise::internalField const): (JSC::JSPromise::internalField): Canonical link: https://commits.webkit.org/223582@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-18 21:13:58 +00:00
#include "JSInternalPromise.h"
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
#include "JSLexicalEnvironment.h"
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
#include "JSMapIterator.h"
#include "JSSetIterator.h"
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
#include "RegExpObject.h"
Add Bounds Check Elimination validation for debugging. https://bugs.webkit.org/show_bug.cgi?id=217055 rdar://69122891 Reviewed by Keith Miller. Source/JavaScriptCore: Added a JSC_validateBoundsCheckElimination option (with alias JSC_validateBCE) that adds an AssertInBounds whenever a CheckInBounds node is elided. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGIntegerCheckCombiningPhase.cpp: (JSC::DFG::IntegerCheckCombiningPhase::handleBlock): * dfg/DFGIntegerRangeOptimizationPhase.cpp: * dfg/DFGNodeType.h: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::validateAIState): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty): (JSC::FTL::DFG::LowerDFGToB3::compileAssertInBounds): * ftl/FTLOperations.cpp: (JSC::FTL::operationReportBoundsCheckEliminationErrorAndCrash): * ftl/FTLOperations.h: * runtime/OptionsList.h: Tools: Added --validateBCE=true to ftl-no-cjit-validate-sampling-profiler and ftl-eager-no-cjit. * Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/229855@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-29 04:54:36 +00:00
#include <wtf/Assertions.h>
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
IGNORE_WARNINGS_BEGIN("frame-address")
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
namespace JSC { namespace FTL {
JSC_DEFINE_JIT_OPERATION(operationPopulateObjectInOSR, void, (JSGlobalObject* globalObject, ExitTimeObjectMaterialization* materialization, EncodedJSValue* encodedValue, EncodedJSValue* values))
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
{
Do unified source builds for JSC https://bugs.webkit.org/show_bug.cgi?id=176076 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This patch switches the CMake JavaScriptCore build to use unified sources. The Xcode build will be upgraded in a follow up patch. Most of the source changes in this patch are fixing static variable/functions name collisions. The most common collisions were from our use of "static const bool verbose" and "using namespace ...". I fixed all the verbose cases and fixed the "using namespace" issues that occurred under the current bundling strategy. It's likely that more of the "using namespace" issues will need to be resolved in the future, particularly in the FTL. I don't expect either of these problems will apply to other parts of the project nearly as much as in JSC. Using a verbose variable is a JSC idiom and JSC tends use the same, canonical, class name in multiple parts of the engine. * CMakeLists.txt: * b3/B3CheckSpecial.cpp: (JSC::B3::CheckSpecial::forEachArg): (JSC::B3::CheckSpecial::generate): (JSC::B3::Air::numB3Args): Deleted. * b3/B3DuplicateTails.cpp: * b3/B3EliminateCommonSubexpressions.cpp: * b3/B3FixSSA.cpp: (JSC::B3::demoteValues): * b3/B3FoldPathConstants.cpp: * b3/B3InferSwitches.cpp: * b3/B3LowerMacrosAfterOptimizations.cpp: (): Deleted. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::LowerToAir): Deleted. (JSC::B3::Air::LowerToAir::run): Deleted. (JSC::B3::Air::LowerToAir::shouldCopyPropagate): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::ArgPromise): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::swap): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::operator=): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::~ArgPromise): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::setTraps): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::tmp): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::operator bool const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::kind const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::peek const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::consume): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::inst): Deleted. (JSC::B3::Air::LowerToAir::tmp): Deleted. (JSC::B3::Air::LowerToAir::tmpPromise): Deleted. (JSC::B3::Air::LowerToAir::canBeInternal): Deleted. (JSC::B3::Air::LowerToAir::commitInternal): Deleted. (JSC::B3::Air::LowerToAir::crossesInterference): Deleted. (JSC::B3::Air::LowerToAir::scaleForShl): Deleted. (JSC::B3::Air::LowerToAir::effectiveAddr): Deleted. (JSC::B3::Air::LowerToAir::addr): Deleted. (JSC::B3::Air::LowerToAir::trappingInst): Deleted. (JSC::B3::Air::LowerToAir::loadPromiseAnyOpcode): Deleted. (JSC::B3::Air::LowerToAir::loadPromise): Deleted. (JSC::B3::Air::LowerToAir::imm): Deleted. (JSC::B3::Air::LowerToAir::bitImm): Deleted. (JSC::B3::Air::LowerToAir::bitImm64): Deleted. (JSC::B3::Air::LowerToAir::immOrTmp): Deleted. (JSC::B3::Air::LowerToAir::tryOpcodeForType): Deleted. (JSC::B3::Air::LowerToAir::opcodeForType): Deleted. (JSC::B3::Air::LowerToAir::appendUnOp): Deleted. (JSC::B3::Air::LowerToAir::preferRightForResult): Deleted. (JSC::B3::Air::LowerToAir::appendBinOp): Deleted. (JSC::B3::Air::LowerToAir::appendShift): Deleted. (JSC::B3::Air::LowerToAir::tryAppendStoreUnOp): Deleted. (JSC::B3::Air::LowerToAir::tryAppendStoreBinOp): Deleted. (JSC::B3::Air::LowerToAir::createStore): Deleted. (JSC::B3::Air::LowerToAir::storeOpcode): Deleted. (JSC::B3::Air::LowerToAir::appendStore): Deleted. (JSC::B3::Air::LowerToAir::moveForType): Deleted. (JSC::B3::Air::LowerToAir::relaxedMoveForType): Deleted. (JSC::B3::Air::LowerToAir::print): Deleted. (JSC::B3::Air::LowerToAir::append): Deleted. (JSC::B3::Air::LowerToAir::appendTrapping): Deleted. (JSC::B3::Air::LowerToAir::finishAppendingInstructions): Deleted. (JSC::B3::Air::LowerToAir::newBlock): Deleted. (JSC::B3::Air::LowerToAir::splitBlock): Deleted. (JSC::B3::Air::LowerToAir::ensureSpecial): Deleted. (JSC::B3::Air::LowerToAir::ensureCheckSpecial): Deleted. (JSC::B3::Air::LowerToAir::fillStackmap): Deleted. (JSC::B3::Air::LowerToAir::createGenericCompare): Deleted. (JSC::B3::Air::LowerToAir::createBranch): Deleted. (JSC::B3::Air::LowerToAir::createCompare): Deleted. (JSC::B3::Air::LowerToAir::createSelect): Deleted. (JSC::B3::Air::LowerToAir::tryAppendLea): Deleted. (JSC::B3::Air::LowerToAir::appendX86Div): Deleted. (JSC::B3::Air::LowerToAir::appendX86UDiv): Deleted. (JSC::B3::Air::LowerToAir::loadLinkOpcode): Deleted. (JSC::B3::Air::LowerToAir::storeCondOpcode): Deleted. (JSC::B3::Air::LowerToAir::appendCAS): Deleted. (JSC::B3::Air::LowerToAir::appendVoidAtomic): Deleted. (JSC::B3::Air::LowerToAir::appendGeneralAtomic): Deleted. (JSC::B3::Air::LowerToAir::lower): Deleted. * b3/B3PatchpointSpecial.cpp: (JSC::B3::PatchpointSpecial::generate): * b3/B3ReduceDoubleToFloat.cpp: (JSC::B3::reduceDoubleToFloat): * b3/B3ReduceStrength.cpp: * b3/B3StackmapGenerationParams.cpp: * b3/B3StackmapSpecial.cpp: (JSC::B3::StackmapSpecial::repsImpl): (JSC::B3::StackmapSpecial::repForArg): * b3/air/AirAllocateStackByGraphColoring.cpp: (JSC::B3::Air::allocateStackByGraphColoring): * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * b3/air/AirFixObviousSpills.cpp: * b3/air/AirLowerAfterRegAlloc.cpp: (JSC::B3::Air::lowerAfterRegAlloc): * b3/air/AirStackAllocation.cpp: (JSC::B3::Air::attemptAssignment): (JSC::B3::Air::assign): * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeDFGStatuses): * bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::emitDOMJITGetter): * bytecode/ObjectPropertyConditionSet.cpp: * bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::addCases): (JSC::PolymorphicAccess::regenerate): * bytecode/PropertyCondition.cpp: (JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const): * bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::addAccessCase): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal): (JSC::DFG::ByteCodeParser::inliningCost): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::planLoad): (JSC::DFG::ByteCodeParser::store): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::linkBlock): (JSC::DFG::ByteCodeParser::linkBlocks): * dfg/DFGCSEPhase.cpp: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::merge): * dfg/DFGIntegerCheckCombiningPhase.cpp: (JSC::DFG::IntegerCheckCombiningPhase::handleBlock): * dfg/DFGIntegerRangeOptimizationPhase.cpp: * dfg/DFGMovHintRemovalPhase.cpp: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPhantomInsertionPhase.cpp: * dfg/DFGPutStackSinkingPhase.cpp: * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGVarargsForwardingPhase.cpp: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::compute): * ftl/FTLAbstractHeapRepository.cpp: (JSC::FTL::AbstractHeapRepository::decorateMemory): (JSC::FTL::AbstractHeapRepository::decorateCCallRead): (JSC::FTL::AbstractHeapRepository::decorateCCallWrite): (JSC::FTL::AbstractHeapRepository::decoratePatchpointRead): (JSC::FTL::AbstractHeapRepository::decoratePatchpointWrite): (JSC::FTL::AbstractHeapRepository::decorateFenceRead): (JSC::FTL::AbstractHeapRepository::decorateFenceWrite): (JSC::FTL::AbstractHeapRepository::decorateFencedAccess): (JSC::FTL::AbstractHeapRepository::computeRangesAndDecorateInstructions): * ftl/FTLLink.cpp: (JSC::FTL::link): * heap/MarkingConstraintSet.cpp: (JSC::MarkingConstraintSet::add): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): (JSC::BinarySwitch::build): * llint/LLIntData.cpp: (JSC::LLInt::Data::loadStats): (JSC::LLInt::Data::saveStats): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint): (JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire): * runtime/ErrorInstance.cpp: (JSC::FindFirstCallerFrameWithCodeblockFunctor::FindFirstCallerFrameWithCodeblockFunctor): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::operator()): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::foundCallFrame const): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::index const): Deleted. * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::initializeDateTimeFormat): * runtime/PromiseDeferredTimer.cpp: (JSC::PromiseDeferredTimer::doWork): (JSC::PromiseDeferredTimer::addPendingPromise): (JSC::PromiseDeferredTimer::cancelPendingPromise): * runtime/TypeProfiler.cpp: (JSC::TypeProfiler::insertNewLocation): * runtime/TypeProfilerLog.cpp: (JSC::TypeProfilerLog::processLogEntries): * runtime/WeakMapPrototype.cpp: (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): (JSC::getWeakMapData): Deleted. * runtime/WeakSetPrototype.cpp: (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): (JSC::getWeakMapData): Deleted. * testRegExp.cpp: (testOneRegExp): (runFromFiles): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::moveToState): (JSC::Wasm::BBQPlan::parseAndValidateModule): (JSC::Wasm::BBQPlan::prepare): (JSC::Wasm::BBQPlan::compileFunctions): (JSC::Wasm::BBQPlan::complete): * wasm/WasmFaultSignalHandler.cpp: (JSC::Wasm::trapHandler): * wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::OMGPlan): (JSC::Wasm::OMGPlan::work): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::fail): * wasm/WasmSignature.cpp: (JSC::Wasm::SignatureInformation::adopt): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): Source/WTF: This patch adds a script that will automatically bundle source files, which is currently only used by the CMake build. It's important that we use the same script to generate the bundles for the CMake build as the Xcode build. If we didn't do this then it's likely that there would be build errors that occur in only one build system. On the same note, we also need to be careful to not bundle platform specific source files with platform independent ones. There are a couple of things the script does not currently handle but are not essential for the CMake build. First, it does not handle the max bundle size restrictions that the Xcode build will require. It also does not handle C files. The unified source generator script works by collecting groups of up to 8 files from the same directory. We don't bundle files from across directories since I didn't see a speedup from doing so. Additionally, splitting at the directory boundary means that it is less likely that adding a new file will force a "clean" build. This would happen because the new file will shift every subsequent file into the next unified source bundle. Using unified sources appears to be a roughly 3.5x build time speed up for clean builds on my MBP and appears to have a negligible effect in incremental builds. * generate-unified-source-bundles.rb: Added. * wtf/Assertions.h: Canonical link: https://commits.webkit.org/193292@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-13 01:31:07 +00:00
using namespace DFG;
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
[JSC] Figure out missing prepareCallOperation https://bugs.webkit.org/show_bug.cgi?id=203285 Reviewed by Mark Lam. Source/JavaScriptCore: We start using __builtin_frame_address to get CallFrame* in JIT operations. For the platform which is not supporting this API (MSVC), we put frame-pointer to vm.topCallFrame in the caller side. The problem is that all Apple platform is now using __builtin_frame_address, and we are not testing vm.topCallFrame version at all. To find missing prepareCallOperation call, we introduce JITOperationPrologueCallFrameTracer. When USE(BUILTIN_FRAME_ADDRESS) is enabled and if it is debug build, we anyway put frame-pointer to vm.topCallFrame. And after that, we ensure that vm.topCallFrame is the same to the CallFrame* gained by __builtin_frame_address. By doing this, we can find places missing this call in debug build of Apple ports. We also found that FTL's custom getter calling is putting wrong value to vm.topCallFrame. This patch fixes it too. * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::operationCompileOSRExit): (JSC::DFG::OSRExit::compileExit): (JSC::DFG::operationDebugPrintSpeculationFailure): (JSC::DFG::OSRExit::compileOSRExit): Deleted. (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): Deleted. * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::osrWriteBarrier): * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitThunkGenerator): (JSC::DFG::osrExitGenerationThunkGenerator): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::operationCompileFTLOSRExit): (JSC::FTL::compileFTLOSRExit): Deleted. * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::operationCompileFTLLazySlowPath): (JSC::FTL::compileFTLLazySlowPath): Deleted. * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::makeCall): * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::slowPathCallThunkGenerator): * ftl/FTLThunks.h: (JSC::FTL::generateIfNecessary): (JSC::FTL::Thunks::getSlowPathCallThunk): * interpreter/FrameTracers.h: (JSC::SlowPathFrameTracer::SlowPathFrameTracer): (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): (JSC::JITOperationPrologueCallFrameTracer::~JITOperationPrologueCallFrameTracer): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::callExceptionFuzz): (JSC::AssemblyHelpers::debugCall): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/Repatch.cpp: (JSC::ftlThunkAwareRepatchCall): * jit/ThunkGenerators.cpp: (JSC::boundThisNoArgsFunctionCallGenerator): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::handleHostCall): * runtime/AtomicsObject.cpp: (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/StringPrototype.cpp: (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::operationStringProtoFuncReplaceGeneric): * tools/JSDollarVM.cpp: (IGNORE_WARNINGS_BEGIN): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck): * wasm/WasmOperations.cpp: (JSC::Wasm::operationWasmThrowBadI64): (JSC::Wasm::operationWasmTriggerOSREntryNow): (JSC::Wasm::operationWasmTriggerTierUpNow): (JSC::Wasm::operationThrowBadI64): Deleted. (JSC::Wasm::triggerOSREntryNow): Deleted. (JSC::Wasm::triggerTierUpNow): Deleted. * wasm/WasmOperations.h: * wasm/WasmThunks.cpp: (JSC::Wasm::triggerOMGEntryTierUpThunkGenerator): * wasm/js/JSWebAssembly.cpp: (JSC::instantiate): * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::operationWasmToJSException): (JSC::Wasm::emitThrowWasmToJSException): (JSC::Wasm::wasmToJSException): Deleted. * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): Source/WebCore: Use JITOperationPrologueCallFrameTracer instead of NativeCallFrameTracer. * bindings/scripts/CodeGeneratorJS.pm: (GenerateOperationDefinition): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): Source/WTF: Enable USE(BUILTIN_FRAME_ADDRESS) regardless of platform is the compilers and architectures match. * wtf/Platform.h: Canonical link: https://commits.webkit.org/216753@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-24 01:00:07 +00:00
JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
CodeBlock* codeBlock = callFrame->codeBlock();
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// We cannot GC. We've got pointers in evil places.
// FIXME: We are not doing anything that can GC here, and this is
// probably unnecessary.
DeferGCForAWhile deferGC(vm.heap);
switch (materialization->type()) {
case PhantomNewObject: {
JSFinalObject* object = jsCast<JSFinalObject*>(JSValue::decode(*encodedValue));
[JSC] Pass VM& parameter as much as possible https://bugs.webkit.org/show_bug.cgi?id=186085 Reviewed by Saam Barati. Source/JavaScriptCore: JSCell::vm() is slow compared to ExecState::vm(). That's why we have bunch of functions in JSCell/JSObject that take VM& as a parameter. For example, we have JSCell::structure() and JSCell::structure(VM&), the former retrieves VM& from the cell and invokes structure(VM&). If we can get VM& from ExecState* or the other place, it reduces the inlined code size. This patch attempts to pass VM& parameter to such functions as much as possible. * API/APICast.h: (toJS): (toJSForGC): * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): * API/JSObjectRef.cpp: (JSObjectIsConstructor): * API/JSTypedArray.cpp: (JSObjectGetTypedArrayBuffer): * API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor): * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptFunctionCall::call): * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock): * bytecode/ObjectAllocationProfileInlines.h: (JSC::ObjectAllocationProfile::possibleDefaultPropertyCount): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForInstanceOf): * bytecode/PropertyCondition.cpp: (JSC::PropertyCondition::isWatchableWhenValid const): (JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier const): * bytecode/StructureStubClearingWatchpoint.cpp: (JSC::StructureStubClearingWatchpoint::fireInternal): * debugger/Debugger.cpp: (JSC::Debugger::detach): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::create): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGAbstractValue.cpp: (JSC::DFG::AbstractValue::mergeOSREntryValue): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine const): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor): (JSC::DFG::ByteCodeParser::handleConstantInternalFunction): (JSC::DFG::ByteCodeParser::check): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): (JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::tryGetConstantProperty): * dfg/DFGOperations.cpp: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetByValOnString): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::createInjectedScript): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::scopeChain const): * interpreter/CallFrame.cpp: (JSC::CallFrame::wasmAwareLexicalGlobalObject): * interpreter/Interpreter.cpp: (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): * jit/JITOperations.cpp: (JSC::getByVal): * jit/Repatch.cpp: (JSC::tryCacheInByID): * jsc.cpp: (functionDollarAgentReceiveBroadcast): (functionHasCustomProperties): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::llint_throw_stack_overflow_error): * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): * runtime/ArrayPrototype.cpp: (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/BooleanConstructor.cpp: (JSC::constructWithBooleanConstructor): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::materializeSpecials): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::canAccessArgumentIndexQuickly): * runtime/ConstructData.cpp: (JSC::construct): * runtime/DateConstructor.cpp: (JSC::constructWithDateConstructor): * runtime/DatePrototype.cpp: (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::overrideThings): * runtime/Error.cpp: (JSC::getStackTrace): * runtime/ErrorConstructor.cpp: (JSC::Interpreter::constructWithErrorConstructor): (JSC::Interpreter::callErrorConstructor): * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): * runtime/InferredStructureWatchpoint.cpp: (JSC::InferredStructureWatchpoint::fireInternal): * runtime/InferredType.cpp: (JSC::InferredType::removeStructure): * runtime/InferredType.h: * runtime/InferredTypeInlines.h: (JSC::InferredType::finalizeUnconditionally): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): * runtime/IntlCollatorConstructor.cpp: (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorPrototypeGetterCompare): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatPrototypeGetterFormat): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormatConstructor.cpp: (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatPrototypeGetterFormat): * runtime/IntlObject.cpp: (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupSupportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): * runtime/IntlPluralRulesConstructor.cpp: (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorClose): (JSC::iteratorForIterable): * runtime/JSArray.cpp: (JSC::JSArray::shiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::isIteratorProtocolFastAndNonObservable): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSArrayBufferConstructor::finishCreation): (JSC::constructArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): * runtime/JSAsyncFunction.cpp: (JSC::JSAsyncFunction::createImpl): (JSC::JSAsyncFunction::create): (JSC::JSAsyncFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSAsyncGeneratorFunction.cpp: (JSC::JSAsyncGeneratorFunction::createImpl): (JSC::JSAsyncGeneratorFunction::create): (JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSCJSValue.cpp: (JSC::JSValue::putToPrimitive): * runtime/JSCellInlines.h: (JSC::JSCell::setStructure): (JSC::JSCell::methodTable const): (JSC::JSCell::toBoolean const): * runtime/JSFunction.h: (JSC::JSFunction::createImpl): * runtime/JSGeneratorFunction.cpp: (JSC::JSGeneratorFunction::createImpl): (JSC::JSGeneratorFunction::create): (JSC::JSGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::finishCreation): * runtime/JSGlobalObject.h: * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromiseConstructor.cpp: (JSC::constructPromise): * runtime/JSJob.cpp: (JSC::JSJobMicrotask::run): * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): * runtime/JSMap.cpp: (JSC::JSMap::isIteratorProtocolFastAndNonObservable): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): * runtime/JSONObject.cpp: (JSC::JSONProtoFuncParse): * runtime/JSObject.cpp: (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::notifyPresenceOfIndexedAccessors): (JSC::JSObject::createInitialIndexedStorage): (JSC::JSObject::createArrayStorage): (JSC::JSObject::convertUndecidedToArrayStorage): (JSC::JSObject::convertInt32ToArrayStorage): (JSC::JSObject::convertDoubleToArrayStorage): (JSC::JSObject::convertContiguousToArrayStorage): (JSC::JSObject::convertFromCopyOnWrite): (JSC::JSObject::ensureWritableInt32Slow): (JSC::JSObject::ensureWritableDoubleSlow): (JSC::JSObject::ensureWritableContiguousSlow): (JSC::JSObject::ensureArrayStorageSlow): (JSC::JSObject::setPrototypeDirect): (JSC::JSObject::deleteProperty): (JSC::callToPrimitiveFunction): (JSC::JSObject::hasInstance): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::JSObject::fillGetterPropertySlot): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::JSObject::getNewVectorLength): (JSC::JSObject::increaseVectorLength): (JSC::JSObject::reallocateAndShrinkButterfly): (JSC::JSObject::shiftButterflyAfterFlattening): (JSC::JSObject::anyObjectInChainMayInterceptIndexedAccesses const): (JSC::JSObject::prototypeChainMayInterceptStoreTo): (JSC::JSObject::needsSlowPutIndexing const): (JSC::JSObject::suggestedArrayStorageTransition const): * runtime/JSObject.h: (JSC::JSObject::mayInterceptIndexedAccesses): (JSC::JSObject::hasIndexingHeader const): (JSC::JSObject::hasCustomProperties): (JSC::JSObject::hasGetterSetterProperties): (JSC::JSObject::hasCustomGetterSetterProperties): (JSC::JSObject::isExtensibleImpl): (JSC::JSObject::isStructureExtensible): (JSC::JSObject::indexingShouldBeSparse): (JSC::JSObject::staticPropertiesReified): (JSC::JSObject::globalObject const): (JSC::JSObject::finishCreation): (JSC::JSNonFinalObject::finishCreation): (JSC::getCallData): (JSC::getConstructData): (JSC::JSObject::getOwnNonIndexPropertySlot): (JSC::JSObject::putOwnDataProperty): (JSC::JSObject::putOwnDataPropertyMayBeIndex): (JSC::JSObject::butterflyPreCapacity): (JSC::JSObject::butterflyTotalSize): * runtime/JSObjectInlines.h: (JSC::JSObject::putDirectInternal): * runtime/JSPromise.cpp: (JSC::JSPromise::initialize): (JSC::JSPromise::resolve): * runtime/JSPromiseConstructor.cpp: (JSC::constructPromise): * runtime/JSPromiseDeferred.cpp: (JSC::newPromiseCapability): (JSC::callFunction): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSScope.h: (JSC::JSScope::globalObject): Deleted. Remove this JSScope::globalObject function since it is completely the same to JSObject::globalObject(). * runtime/JSSet.cpp: (JSC::JSSet::isIteratorProtocolFastAndNonObservable): * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::clone): * runtime/Lookup.cpp: (JSC::reifyStaticAccessor): (JSC::setUpStaticFunctionSlot): * runtime/Lookup.h: (JSC::getStaticPropertySlotFromTable): (JSC::replaceStaticPropertySlot): (JSC::reifyStaticProperty): * runtime/MapConstructor.cpp: (JSC::constructMap): * runtime/NumberConstructor.cpp: (JSC::NumberConstructor::finishCreation): * runtime/ObjectConstructor.cpp: (JSC::constructObject): (JSC::objectConstructorAssign): (JSC::toPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncToLocaleString): * runtime/Operations.cpp: (JSC::jsIsFunctionType): Deleted. Replace it with JSValue::isFunction(VM&). * runtime/Operations.h: * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/RegExpConstructor.cpp: (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::overrideThings): * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): * runtime/SetConstructor.cpp: (JSC::constructSet): * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): * runtime/StringConstructor.cpp: (JSC::constructWithStringConstructor): * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncIterator): * runtime/Structure.cpp: (JSC::Structure::materializePropertyTable): (JSC::Structure::willStoreValueSlow): * runtime/StructureCache.cpp: (JSC::StructureCache::emptyStructureForPrototypeFromBaseStructure): * runtime/StructureInlines.h: (JSC::Structure::get): * runtime/WeakMapConstructor.cpp: (JSC::constructWeakMap): * runtime/WeakSetConstructor.cpp: (JSC::constructWeakSet): * tools/HeapVerifier.cpp: (JSC::HeapVerifier::reportCell): * tools/JSDollarVM.cpp: (JSC::functionGlobalObjectForObject): (JSC::JSDollarVM::finishCreation): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::finalizeCreation): * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJSException): * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyPrototype.cpp: (JSC::instantiate): * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyToJSCallee.cpp: (JSC::WebAssemblyToJSCallee::create): Source/WebCore: No behavior change. * bindings/js/JSCSSRuleListCustom.cpp: (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMIterator.h: (WebCore::iteratorForEach): * bindings/js/JSDOMMapLike.cpp: (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::createRejectedPromiseWithTypeError): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::JSDeprecatedCSSOMValueOwner::isReachableFromOpaqueRoots): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JSNodeListCustom.cpp: (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSWindowProxy.cpp: (WebCore::JSWindowProxy::setWindow): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStreamInternal::callFunction): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::callFunction): * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::serialize): * bindings/js/StructuredClone.cpp: (WebCore::structuredCloneArrayBufferView): * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::initScript): * bridge/NP_jsobject.cpp: * bridge/objc/WebScriptObject.mm: (-[WebScriptObject callWebScriptMethod:withArguments:]): * testing/Internals.cpp: (WebCore::Internals::cloneArrayBuffer): * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): Source/WebKit: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::construct): (WebKit::NPJSObject::invoke): Source/WebKitLegacy/mac: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invoke): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::NPN_Invoke): Canonical link: https://commits.webkit.org/201554@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232337 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-31 06:19:33 +00:00
Structure* structure = object->structure(vm);
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// Figure out what the heck to populate the object with. Use
// getPropertiesConcurrently() because that happens to be
// lower-level and more convenient. It doesn't change the
// materialization of the property table. We want to have
// minimal visible effects on the system. Also, don't mind
// that this is O(n^2). It doesn't matter. We only get here
// from OSR exit.
for (PropertyMapEntry entry : structure->getPropertiesConcurrently()) {
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != NamedPropertyPLoc)
continue;
if (codeBlock->identifier(property.location().info()).impl() != entry.key)
continue;
object->putDirect(vm, entry.offset, JSValue::decode(values[i]));
}
}
break;
}
case PhantomNewFunction:
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=152227 Reviewed by Saam Barati. Source/JavaScriptCore: This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL. We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure. The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different __proto__. Instead of extending NewFunction / PhantomNewFunction, we just added new DFG nodes, NewGeneratorFunction and PhantomNewGeneratorFunction. This is because NewGeneratorFunction will generate an object that has different class info from JSFunction (And if JSGeneratorFunction is extended, its size will become different from JSFunction). So, rather than extending NewFunction with generator flag, just adding new DFG nodes seems cleaner. Object allocation sinking phase will change NewGeneratorFunction to PhantomNewGeneratorFunction and defer or eliminate its actual materialization. It is completely the same to NewFunction and PhantomNewFunction. And when OSR exit occurs, we need to execute deferred NewGeneratorFunction since Baseline JIT does not consider it. So in FTL operation, we should create JSGeneratorFunction if we see PhantomNewGeneratorFunction materialization. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): (JSC::DFG::Validate::validateSSA): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileNode): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/generator-function-create-optimized.js: Added. (shouldBe): (g): (test.return.gen): (test): (test2.gen): (test2): * tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-declaration-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-declaration-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-expression-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): * tests/stress/generator-function-expression-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): LayoutTests: Make the test taking longer time. * js/regress/script-tests/generator-function-create.js: (test): Canonical link: https://commits.webkit.org/170493@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-12-17 10:33:08 +00:00
case PhantomNewGeneratorFunction:
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
case PhantomNewAsyncFunction:
[ESNext] Async iteration - Implement Async Generator - runtime https://bugs.webkit.org/show_bug.cgi?id=175240 Reviewed by Yusuke Suzuki. JSTests: * stress/async-iteration-async-from-sync.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (foo): (async.boo): (bar): (async.baz): (async.goo): * stress/async-iteration-basic.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.generator): (iterator.next.then): (async.baz): (async.boo): (async.foo): (async.goo): (A.prototype.async.foo): (A.prototype.async.boo): (A): (asyncGenExp.async): (async.joo): (j.next.then): (then): (async.koo): (async.loo): (async.moo): (async.noo): (async.ooo): (async.roo): (async.poo): (async.soo): (async.too): * stress/async-iteration-evaluation.js: Added. (assert): (async.foo): (catch): * stress/async-iteration-syntax.js: * stress/async-iteration-yield-promise.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): * stress/async-iteration-yield-star-interface.js: Added. (assert): (const.getPromise.promiseHolder.return.new.Promise): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.foo): (asyncIter.Symbol.asyncIterator): (asyncIter.next): (async.boo): (asyncIter.return): (async.bar): (async.baz): (async.foobar): * stress/async-iteration-yield-star.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): (async.baz): (async.joo): (async.goo): (async.koo): (async.loo): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.moo): (async.noo): * test262.yaml: Source/JavaScriptCore: Current implementation is draft version of Async Iteration. Link to spec https://tc39.github.io/proposal-async-iteration/ To implement async generator added new states that show reason why async generator was suspended: The main difference between async function and async generator is that, async function returns promise but async generator returns object with methods (next, throw and return) that return promise that can be resolved with pair of properties value and done. Async generator functions are similar to generator functions, with the following differences: whose methods (next, throw, and return) return promises for { value, done }, instead of directly returning { value, done }. This automatically makes the returned async generator objects async iterators. delegation to sync and async iterables * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/AsyncFromSyncIteratorPrototype.js: Added. (next.try): (next): (return.try): (return): (throw.try): (throw): (globalPrivate.createAsyncFromSyncIterator): (globalPrivate.AsyncFromSyncIteratorConstructor): * builtins/AsyncGeneratorPrototype.js: Added. (globalPrivate.createAsyncGeneratorQueue): (globalPrivate.asyncGeneratorQueueIsEmpty): (globalPrivate.asyncGeneratorQueueCreateItem): (globalPrivate.asyncGeneratorQueueEnqueue): (globalPrivate.asyncGeneratorQueueDequeue): (globalPrivate.asyncGeneratorQueueGetFirstValue): (globalPrivate.asyncGeneratorDequeue): (globalPrivate.isExecutionState): (globalPrivate.isSuspendYieldState): (globalPrivate.asyncGeneratorReject): (globalPrivate.asyncGeneratorResolve): (asyncGeneratorYieldAwaited): (globalPrivate.asyncGeneratorYield): (const.onRejected): (globalPrivate.awaitValue): (const.onFulfilled): (globalPrivate.doAsyncGeneratorBodyCall): (globalPrivate.asyncGeneratorResumeNext.): (globalPrivate.asyncGeneratorResumeNext): (globalPrivate.asyncGeneratorEnqueue): (next): (return): (throw): * builtins/AsyncIteratorPrototype.js: Added. (symbolAsyncIteratorGetter): * builtins/BuiltinNames.h: * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::dumpBytecode): * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecode/BytecodeList.json: * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitCreateAsyncGeneratorQueue): (JSC::BytecodeGenerator::emitPutAsyncGeneratorFields): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitIteratorNextWithValue): (JSC::BytecodeGenerator::emitIteratorClose): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitCallIterator): (JSC::BytecodeGenerator::emitAwait): (JSC::BytecodeGenerator::emitGetIterator): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ReturnNode::emitBytecode): (JSC::FunctionNode::emitBytecode): (JSC::YieldExprNode::emitBytecode): (JSC::AwaitExprNode::emitBytecode): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_async_generator_func_exp): * jit/JITOperations.cpp: * jit/JITOperations.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * parser/ASTBuilder.h: (JSC::ASTBuilder::createFunctionMetadata): * runtime/AsyncFromSyncIteratorPrototype.cpp: Added. (JSC::AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype): (JSC::AsyncFromSyncIteratorPrototype::finishCreation): (JSC::AsyncFromSyncIteratorPrototype::create): * runtime/AsyncFromSyncIteratorPrototype.h: Added. (JSC::AsyncFromSyncIteratorPrototype::createStructure): * runtime/AsyncGeneratorFunctionConstructor.cpp: Added. (JSC::AsyncGeneratorFunctionConstructor::AsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::finishCreation): (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::getCallData): (JSC::AsyncGeneratorFunctionConstructor::getConstructData): * runtime/AsyncGeneratorFunctionConstructor.h: Added. (JSC::AsyncGeneratorFunctionConstructor::create): (JSC::AsyncGeneratorFunctionConstructor::createStructure): * runtime/AsyncGeneratorFunctionPrototype.cpp: Added. (JSC::AsyncGeneratorFunctionPrototype::AsyncGeneratorFunctionPrototype): (JSC::AsyncGeneratorFunctionPrototype::finishCreation): * runtime/AsyncGeneratorFunctionPrototype.h: Added. (JSC::AsyncGeneratorFunctionPrototype::create): (JSC::AsyncGeneratorFunctionPrototype::createStructure): * runtime/AsyncGeneratorPrototype.cpp: Added. (JSC::AsyncGeneratorPrototype::finishCreation): * runtime/AsyncGeneratorPrototype.h: Added. (JSC::AsyncGeneratorPrototype::create): (JSC::AsyncGeneratorPrototype::createStructure): (JSC::AsyncGeneratorPrototype::AsyncGeneratorPrototype): * runtime/AsyncIteratorPrototype.cpp: Added. (JSC::AsyncIteratorPrototype::finishCreation): * runtime/AsyncIteratorPrototype.h: Added. (JSC::AsyncIteratorPrototype::create): (JSC::AsyncIteratorPrototype::createStructure): (JSC::AsyncIteratorPrototype::AsyncIteratorPrototype): * runtime/CommonIdentifiers.h: * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.h: * runtime/JSAsyncGeneratorFunction.cpp: Added. (JSC::JSAsyncGeneratorFunction::JSAsyncGeneratorFunction): (JSC::JSAsyncGeneratorFunction::createImpl): (JSC::JSAsyncGeneratorFunction::create): (JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSAsyncGeneratorFunction.h: Added. (JSC::JSAsyncGeneratorFunction::allocationSize): (JSC::JSAsyncGeneratorFunction::createStructure): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncIteratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionStructure const): * runtime/Options.h: LayoutTests: * js/Object-getOwnPropertyNames-expected.txt: * js/script-tests/Object-getOwnPropertyNames.js: Canonical link: https://commits.webkit.org/192535@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 17:05:33 +00:00
case PhantomNewAsyncGeneratorFunction:
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
case PhantomDirectArguments:
case PhantomClonedArguments:
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
case PhantomCreateRest:
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
case PhantomSpread:
case PhantomNewArrayWithSpread:
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
case PhantomNewArrayBuffer:
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// Those are completely handled by operationMaterializeObjectInOSR
break;
case PhantomCreateActivation: {
JSLexicalEnvironment* activation = jsCast<JSLexicalEnvironment*>(JSValue::decode(*encodedValue));
// Figure out what to populate the activation with
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ClosureVarPLoc)
continue;
Avoid duplicate computations of ExecState::vm(). https://bugs.webkit.org/show_bug.cgi?id=176647 Reviewed by Saam Barati. Source/JavaScriptCore: Because while computing ExecState::vm() is cheap, it is not free. This patch also: 1. gets rids of some convenience methods in CallFrame that implicitly does a ExecState::vm() computation. This minimizes the chance of us accidentally computing ExecState::vm() more than necessary. 2. passes vm (when available) to methodTable(). 3. passes vm (when available) to JSLockHolder. * API/JSBase.cpp: (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::create): * API/JSCallbackObject.h: (JSC::JSCallbackObject::create): * API/JSContext.mm: (-[JSContext setException:]): * API/JSContextRef.cpp: (JSContextGetGlobalObject): (JSContextCreateBacktrace): * API/JSManagedValue.mm: (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSPropertyNameAccumulatorAddName): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (JSValueGetTypedArrayType): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): * API/ObjCCallbackFunction.mm: (objCCallbackFunctionForInvocation): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::jettison): * bytecode/CodeBlock.h: (JSC::CodeBlock::addConstant): (JSC::CodeBlock::replaceConstant): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): (JSC::PutByIdStatus::computeFor): * dfg/DFGDesiredWatchpoints.cpp: (JSC::DFG::ArrayBufferViewWatchpointAdaptor::add): * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGOperations.cpp: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileFTLOSRExit): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * heap/GCAssertions.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::JSInjectedScriptHost::iteratorEntries): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::toJS): * inspector/ScriptCallStackFactory.cpp: (Inspector::extractSourceInformationFromException): (Inspector::createScriptArguments): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.h: (JSC::ExecState::atomicStringTable const): Deleted. (JSC::ExecState::propertyNames const): Deleted. (JSC::ExecState::emptyList const): Deleted. (JSC::ExecState::interpreter): Deleted. (JSC::ExecState::heap): Deleted. * interpreter/Interpreter.cpp: (JSC::Interpreter::executeProgram): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: * jit/JITWorklist.cpp: (JSC::JITWorklist::compileNow): * jsc.cpp: (WTF::RuntimeArray::create): (WTF::RuntimeArray::getOwnPropertySlot): (WTF::DOMJITGetter::DOMJITAttribute::slowCall): (WTF::DOMJITFunctionObject::unsafeFunction): (WTF::DOMJITCheckSubClassObject::unsafeFunction): (GlobalObject::moduleLoaderFetch): (functionDumpCallFrame): (functionCreateRoot): (functionGetElement): (functionSetElementRoot): (functionCreateSimpleObject): (functionSetHiddenValue): (functionCreateProxy): (functionCreateImpureGetter): (functionCreateCustomGetterObject): (functionCreateDOMJITNodeObject): (functionCreateDOMJITGetterObject): (functionCreateDOMJITGetterComplexObject): (functionCreateDOMJITFunctionObject): (functionCreateDOMJITCheckSubClassObject): (functionGCAndSweep): (functionFullGC): (functionEdenGC): (functionHeapSize): (functionShadowChickenFunctionsOnStack): (functionSetGlobalConstRedeclarationShouldNotThrow): (functionJSCOptions): (functionFailNextNewCodeBlock): (functionMakeMasquerader): (functionDumpTypesForAllVariables): (functionFindTypeForExpression): (functionReturnTypeFor): (functionDumpBasicBlockExecutionRanges): (functionBasicBlockExecutionCount): (functionDrainMicrotasks): (functionGenerateHeapSnapshot): (functionEnsureArrayStorage): (functionStartSamplingProfiler): (runInteractive): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * runtime/AbstractModuleRecord.cpp: (JSC::identifierToJSValue): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::getExportedNames): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): * runtime/BooleanConstructor.cpp: (JSC::constructBooleanFromImmediateBoolean): * runtime/CallData.cpp: (JSC::call): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::evaluate): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/ConstructData.cpp: (JSC::construct): * runtime/DatePrototype.cpp: (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.h: (JSC::DirectArguments::length const): * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): * runtime/FunctionConstructor.cpp: (JSC::constructFunction): * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertyNames): * runtime/IdentifierInlines.h: (JSC::Identifier::add): * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): * runtime/InternalFunction.cpp: (JSC::InternalFunction::finishCreation): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/JSArray.cpp: (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::isIteratorProtocolFastAndNonObservable): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSDataView.cpp: (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::reifyName): * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSMap.cpp: (JSC::JSMap::isIteratorProtocolFastAndNonObservable): * runtime/JSMapIterator.h: (JSC::JSMapIterator::advanceIter): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): * runtime/JSModuleLoader.cpp: (JSC::printableModuleKey): (JSC::JSModuleLoader::provide): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::evaluate): * runtime/JSONObject.cpp: (JSC::Stringifier::Stringifier): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::appendNextProperty): * runtime/JSObject.cpp: (JSC::JSObject::calculatedClassName): (JSC::JSObject::putByIndex): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::toPrimitive const): (JSC::JSObject::hasInstance): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): * runtime/JSObjectInlines.h: (JSC::JSObject::canPerformFastPutInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): * runtime/JSScope.cpp: (JSC::isUnscopable): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): * runtime/JSSet.cpp: (JSC::JSSet::isIteratorProtocolFastAndNonObservable): * runtime/JSSetIterator.h: (JSC::JSSetIterator::advanceIter): * runtime/JSString.cpp: (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::getStringPropertySlot): * runtime/MapConstructor.cpp: (JSC::constructMap): * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::create): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncToLocaleString): * runtime/ProgramExecutable.h: * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::put): * runtime/ScopedArguments.h: (JSC::ScopedArguments::length const): * runtime/StrictEvalActivation.h: (JSC::StrictEvalActivation::create): * runtime/StringObject.cpp: (JSC::isStringOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::getOwnNonIndexPropertyNames): * tools/JSDollarVMPrototype.cpp: (JSC::JSDollarVMPrototype::gc): (JSC::JSDollarVMPrototype::edenGC): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::evaluate): Source/WebCore: No new tests because this is only a refactoring patch. There is no significant behavior change. * Modules/mediastream/SDPProcessor.cpp: (WebCore::SDPProcessor::callScript const): * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::installReplacement): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSDOMConvertRecord.h: * bindings/js/JSDOMMapLike.h: (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::addCrossOriginWindowOwnPropertyNames): * bindings/js/JSDocumentCustom.cpp: (WebCore::reportMemoryForDocumentIfFrameless): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::putCommon): (WebCore::addCrossOriginLocationPropertyNames): (WebCore::addCrossOriginLocationOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::setJSInterfaceNameConstructor): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::setJSMapLikeConstructor): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::setJSReadOnlyMapLikeConstructor): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::setJSTestActiveDOMObjectConstructor): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::setJSTestCEReactionsConstructor): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::setJSTestCEReactionsStringifierConstructor): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::setJSTestCallTracerConstructor): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor): (WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::setJSTestDOMJITConstructor): * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::setJSTestEnabledBySettingConstructor): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::setJSTestEventConstructorConstructor): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::setJSTestEventTargetConstructor): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::setJSTestExceptionConstructor): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::setJSTestGenerateIsReachableConstructor): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::setJSTestGlobalObjectConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::setJSTestInterfaceConstructor): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::setJSTestIterableConstructor): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::setJSTestJSBuiltinConstructorConstructor): * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::setJSTestMediaQueryListListenerConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::setJSTestNamedConstructorConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::setJSTestNamedGetterCallWithConstructor): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::setJSTestNamedGetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::setJSTestNamedGetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::setJSTestNamedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::setJSTestNamedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::setJSTestNodeConstructor): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::setJSTestObjConstructor): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::setJSTestOverloadedConstructorsConstructor): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::setJSTestOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::setJSTestPluginInterfaceConstructor): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::setJSTestPromiseRejectionEventConstructor): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::setJSTestSerializationConstructor): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::setJSTestSerializationInheritConstructor): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::setJSTestSerializationInheritFinalConstructor): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::setJSTestStringifierConstructor): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::setJSTestStringifierAnonymousOperationConstructor): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::setJSTestStringifierNamedOperationConstructor): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::setJSTestStringifierOperationImplementedAsConstructor): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::setJSTestStringifierOperationNamedToStringConstructor): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::setJSTestStringifierReadWriteAttributeConstructor): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::setJSTestTypedefsConstructor): * bridge/NP_jsobject.cpp: (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_Enumerate): * bridge/c/c_instance.cpp: (JSC::Bindings::CRuntimeMethod::create): * bridge/objc/WebScriptObject.mm: (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): * bridge/objc/objc_instance.mm: (ObjCRuntimeMethod::create): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/runtime_array.cpp: (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::put): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::getOwnPropertySlot): * bridge/runtime_method.h: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * testing/Internals.cpp: (WebCore::Internals::cloneArrayBuffer): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.h: (WebKit::JSNPMethod::create): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): Source/WebKitLegacy/mac: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::enumerate): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::create): Canonical link: https://commits.webkit.org/193171@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-09 16:21:45 +00:00
activation->variableAt(ScopeOffset(property.location().info())).set(vm, activation, JSValue::decode(values[i]));
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
}
break;
}
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
case PhantomNewInternalFieldObject: {
auto materialize = [&] (auto* target) {
using JSCellType = std::remove_reference_t<decltype(*target)>;
// Figure out what to populate the iterator with
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != InternalFieldObjectPLoc)
continue;
ASSERT(property.location().info() < JSCellType::numberOfInternalFields);
target->internalField(static_cast<typename JSCellType::Field>(property.location().info())).set(vm, target, JSValue::decode(values[i]));
}
};
[JSC] Introduce JSArrayIterator https://bugs.webkit.org/show_bug.cgi?id=204043 Reviewed by Yusuke Suzuki. JSTests: * stress/array-iterator-materialize-at-osr-exit.js: Added. (shouldBe): (test): * stress/array-iterator-materialize-one-path.js: Added. (shouldBe): (test): * stress/array-iterator-materialize.js: Added. (shouldBe): (test): * stress/array-iterator-sinking.js: Added. (shouldBe): (test): * stress/array-iterators-next-error-messages.js: (catch): * stress/array-iterators-next-with-call.js: * stress/for-of-iteration.js: Added. (shouldBe): (test1): (test2): (test3): * stress/typedarray-functions-with-neutered.js: (checkProtoFunc): Source/JavaScriptCore: This patch introduces JSArrayIterator that changes the iterator object from a JSFinalObject to an InternalFieldsObject. This makes accessing it much easier from C++ code and makes the iterator object smaller. It also means that the JS code for the next function is much simpler and can *almost* be inlined without shenanigans. As part of this patch the keys/values/entries functions have been converted to C++ with intrinsics since that's slightly more efficient in the LLInt/Baseline. Lastly, this patch also add a custom ISOSubspace for JSArrayIterator objects. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/ArrayIteratorPrototype.js: (next): (globalPrivate.arrayIteratorNextHelper): (globalPrivate.arrayIteratorValueNext): Deleted. (globalPrivate.arrayIteratorKeyNext): Deleted. (globalPrivate.arrayIteratorKeyValueNext): Deleted. * builtins/ArrayPrototype.js: (globalPrivate.ArrayIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/TypedArrayPrototype.js: (values): Deleted. (keys): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsArrayIterator): * bytecompiler/NodesCodegen.cpp: (JSC::arrayIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_isGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isPromise): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isUndefinedOrNull): Deleted. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::convertToPhantomNewArrayIterator): (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCheckNeutered): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileCheckArray): (JSC::FTL::DFG::LowerDFGToB3::compileCheckNeutered): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneArrayIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::createArrayIteratorObject): (JSC::arrayProtoFuncValues): (JSC::arrayProtoFuncEntries): (JSC::arrayProtoFuncKeys): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/IterationKind.h: (): Deleted. * runtime/JSArrayIterator.cpp: Added. (JSC::JSArrayIterator::create): (JSC::JSArrayIterator::createWithInitialValues): (JSC::JSArrayIterator::createStructure): (JSC::JSArrayIterator::JSArrayIterator): (JSC::JSArrayIterator::finishCreation): (JSC::JSArrayIterator::visitChildren): * runtime/JSArrayIterator.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::arrayIteratorPrototype const): (JSC::JSGlobalObject::arrayIteratorStructure const): * runtime/JSMapIterator.h: * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::createTypedArrayIteratorObject): (JSC::typedArrayViewProtoFuncValues): (JSC::typedArrayProtoViewFuncEntries): (JSC::typedArrayViewProtoFuncKeys): (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/VM.cpp: * runtime/VM.h: Source/WebCore: JSDOMIterator should just use the JSC IterationKind enum. Also, update other files for the enum member name changes. * bindings/js/JSDOMIterator.h: (WebCore::IteratorTraits>::asJS): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateIterableDefinition): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::jsTestInterfacePrototypeFunctionEntriesCaller): (WebCore::jsTestInterfacePrototypeFunctionKeysCaller): (WebCore::jsTestInterfacePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionValuesCaller): LayoutTests: Change the labels of iteration kinds to match what JS refers to them as. * inspector/model/remote-object/iterator-expected.txt: * inspector/model/remote-object/iterator-large-expected.txt: * inspector/model/remote-object/iterators-mutated-expected.txt: Canonical link: https://commits.webkit.org/219108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-09 06:07:29 +00:00
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
JSObject* target = jsCast<JSObject*>(JSValue::decode(*encodedValue));
switch (target->type()) {
case JSArrayIteratorType:
materialize(jsCast<JSArrayIterator*>(target));
break;
case JSMapIteratorType:
materialize(jsCast<JSMapIterator*>(target));
break;
case JSSetIteratorType:
materialize(jsCast<JSSetIterator*>(target));
break;
[JSC] Replace DFG NewPromise with NewInternalFieldObject https://bugs.webkit.org/show_bug.cgi?id=210687 Reviewed by Saam Barati. The feature of DFG::NewPromise can be implemented completely with DFG::NewInternalFieldObject. This reduces code duplication, and furthermore, this offers Object Allocation Sinking support for free. This patch replaces DFG::NewPromise with DFG::NewInternalFieldObject and remove DFG::NewPromise completely. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToNewInternalFieldObject): (JSC::DFG::Node::convertToNewInternalFieldObjectWithInlineFields): (JSC::DFG::Node::hasIsInternalPromise): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::convertToNewPromise): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::createWithInitialValues): * runtime/JSInternalPromise.h: * runtime/JSPromise.cpp: (JSC::JSPromise::createWithInitialValues): (JSC::JSPromise::finishCreation): (JSC::JSPromise::status const): (JSC::JSPromise::result const): (JSC::JSPromise::flags const): (JSC::JSPromise::resolve): (JSC::JSPromise::reject): (JSC::JSPromise::rejectAsHandled): * runtime/JSPromise.h: (JSC::JSPromise::initialValues): (JSC::JSPromise::internalField const): (JSC::JSPromise::internalField): Canonical link: https://commits.webkit.org/223582@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-18 21:13:58 +00:00
case JSPromiseType:
if (target->classInfo(vm) == JSInternalPromise::info())
materialize(jsCast<JSInternalPromise*>(target));
else {
ASSERT(target->classInfo(vm) == JSPromise::info());
materialize(jsCast<JSPromise*>(target));
}
break;
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
break;
[JSC] Introduce JSArrayIterator https://bugs.webkit.org/show_bug.cgi?id=204043 Reviewed by Yusuke Suzuki. JSTests: * stress/array-iterator-materialize-at-osr-exit.js: Added. (shouldBe): (test): * stress/array-iterator-materialize-one-path.js: Added. (shouldBe): (test): * stress/array-iterator-materialize.js: Added. (shouldBe): (test): * stress/array-iterator-sinking.js: Added. (shouldBe): (test): * stress/array-iterators-next-error-messages.js: (catch): * stress/array-iterators-next-with-call.js: * stress/for-of-iteration.js: Added. (shouldBe): (test1): (test2): (test3): * stress/typedarray-functions-with-neutered.js: (checkProtoFunc): Source/JavaScriptCore: This patch introduces JSArrayIterator that changes the iterator object from a JSFinalObject to an InternalFieldsObject. This makes accessing it much easier from C++ code and makes the iterator object smaller. It also means that the JS code for the next function is much simpler and can *almost* be inlined without shenanigans. As part of this patch the keys/values/entries functions have been converted to C++ with intrinsics since that's slightly more efficient in the LLInt/Baseline. Lastly, this patch also add a custom ISOSubspace for JSArrayIterator objects. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/ArrayIteratorPrototype.js: (next): (globalPrivate.arrayIteratorNextHelper): (globalPrivate.arrayIteratorValueNext): Deleted. (globalPrivate.arrayIteratorKeyNext): Deleted. (globalPrivate.arrayIteratorKeyValueNext): Deleted. * builtins/ArrayPrototype.js: (globalPrivate.ArrayIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/TypedArrayPrototype.js: (values): Deleted. (keys): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsArrayIterator): * bytecompiler/NodesCodegen.cpp: (JSC::arrayIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_isGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isPromise): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isUndefinedOrNull): Deleted. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::convertToPhantomNewArrayIterator): (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCheckNeutered): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileCheckArray): (JSC::FTL::DFG::LowerDFGToB3::compileCheckNeutered): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneArrayIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::createArrayIteratorObject): (JSC::arrayProtoFuncValues): (JSC::arrayProtoFuncEntries): (JSC::arrayProtoFuncKeys): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/IterationKind.h: (): Deleted. * runtime/JSArrayIterator.cpp: Added. (JSC::JSArrayIterator::create): (JSC::JSArrayIterator::createWithInitialValues): (JSC::JSArrayIterator::createStructure): (JSC::JSArrayIterator::JSArrayIterator): (JSC::JSArrayIterator::finishCreation): (JSC::JSArrayIterator::visitChildren): * runtime/JSArrayIterator.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::arrayIteratorPrototype const): (JSC::JSGlobalObject::arrayIteratorStructure const): * runtime/JSMapIterator.h: * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::createTypedArrayIteratorObject): (JSC::typedArrayViewProtoFuncValues): (JSC::typedArrayProtoViewFuncEntries): (JSC::typedArrayViewProtoFuncKeys): (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/VM.cpp: * runtime/VM.h: Source/WebCore: JSDOMIterator should just use the JSC IterationKind enum. Also, update other files for the enum member name changes. * bindings/js/JSDOMIterator.h: (WebCore::IteratorTraits>::asJS): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateIterableDefinition): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::jsTestInterfacePrototypeFunctionEntriesCaller): (WebCore::jsTestInterfacePrototypeFunctionKeysCaller): (WebCore::jsTestInterfacePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionValuesCaller): LayoutTests: Change the labels of iteration kinds to match what JS refers to them as. * inspector/model/remote-object/iterator-expected.txt: * inspector/model/remote-object/iterator-large-expected.txt: * inspector/model/remote-object/iterators-mutated-expected.txt: Canonical link: https://commits.webkit.org/219108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-09 06:07:29 +00:00
}
break;
}
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
case PhantomNewRegexp: {
RegExpObject* regExpObject = jsCast<RegExpObject*>(JSValue::decode(*encodedValue));
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != RegExpObjectLastIndexPLoc)
continue;
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
regExpObject->setLastIndex(globalObject, JSValue::decode(values[i]), false /* shouldThrow */);
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
break;
}
break;
}
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
break;
}
}
JSC_DEFINE_JIT_OPERATION(operationMaterializeObjectInOSR, JSCell*, (JSGlobalObject* globalObject, ExitTimeObjectMaterialization* materialization, EncodedJSValue* values))
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
{
Do unified source builds for JSC https://bugs.webkit.org/show_bug.cgi?id=176076 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This patch switches the CMake JavaScriptCore build to use unified sources. The Xcode build will be upgraded in a follow up patch. Most of the source changes in this patch are fixing static variable/functions name collisions. The most common collisions were from our use of "static const bool verbose" and "using namespace ...". I fixed all the verbose cases and fixed the "using namespace" issues that occurred under the current bundling strategy. It's likely that more of the "using namespace" issues will need to be resolved in the future, particularly in the FTL. I don't expect either of these problems will apply to other parts of the project nearly as much as in JSC. Using a verbose variable is a JSC idiom and JSC tends use the same, canonical, class name in multiple parts of the engine. * CMakeLists.txt: * b3/B3CheckSpecial.cpp: (JSC::B3::CheckSpecial::forEachArg): (JSC::B3::CheckSpecial::generate): (JSC::B3::Air::numB3Args): Deleted. * b3/B3DuplicateTails.cpp: * b3/B3EliminateCommonSubexpressions.cpp: * b3/B3FixSSA.cpp: (JSC::B3::demoteValues): * b3/B3FoldPathConstants.cpp: * b3/B3InferSwitches.cpp: * b3/B3LowerMacrosAfterOptimizations.cpp: (): Deleted. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::LowerToAir): Deleted. (JSC::B3::Air::LowerToAir::run): Deleted. (JSC::B3::Air::LowerToAir::shouldCopyPropagate): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::ArgPromise): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::swap): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::operator=): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::~ArgPromise): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::setTraps): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::tmp): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::operator bool const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::kind const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::peek const): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::consume): Deleted. (JSC::B3::Air::LowerToAir::ArgPromise::inst): Deleted. (JSC::B3::Air::LowerToAir::tmp): Deleted. (JSC::B3::Air::LowerToAir::tmpPromise): Deleted. (JSC::B3::Air::LowerToAir::canBeInternal): Deleted. (JSC::B3::Air::LowerToAir::commitInternal): Deleted. (JSC::B3::Air::LowerToAir::crossesInterference): Deleted. (JSC::B3::Air::LowerToAir::scaleForShl): Deleted. (JSC::B3::Air::LowerToAir::effectiveAddr): Deleted. (JSC::B3::Air::LowerToAir::addr): Deleted. (JSC::B3::Air::LowerToAir::trappingInst): Deleted. (JSC::B3::Air::LowerToAir::loadPromiseAnyOpcode): Deleted. (JSC::B3::Air::LowerToAir::loadPromise): Deleted. (JSC::B3::Air::LowerToAir::imm): Deleted. (JSC::B3::Air::LowerToAir::bitImm): Deleted. (JSC::B3::Air::LowerToAir::bitImm64): Deleted. (JSC::B3::Air::LowerToAir::immOrTmp): Deleted. (JSC::B3::Air::LowerToAir::tryOpcodeForType): Deleted. (JSC::B3::Air::LowerToAir::opcodeForType): Deleted. (JSC::B3::Air::LowerToAir::appendUnOp): Deleted. (JSC::B3::Air::LowerToAir::preferRightForResult): Deleted. (JSC::B3::Air::LowerToAir::appendBinOp): Deleted. (JSC::B3::Air::LowerToAir::appendShift): Deleted. (JSC::B3::Air::LowerToAir::tryAppendStoreUnOp): Deleted. (JSC::B3::Air::LowerToAir::tryAppendStoreBinOp): Deleted. (JSC::B3::Air::LowerToAir::createStore): Deleted. (JSC::B3::Air::LowerToAir::storeOpcode): Deleted. (JSC::B3::Air::LowerToAir::appendStore): Deleted. (JSC::B3::Air::LowerToAir::moveForType): Deleted. (JSC::B3::Air::LowerToAir::relaxedMoveForType): Deleted. (JSC::B3::Air::LowerToAir::print): Deleted. (JSC::B3::Air::LowerToAir::append): Deleted. (JSC::B3::Air::LowerToAir::appendTrapping): Deleted. (JSC::B3::Air::LowerToAir::finishAppendingInstructions): Deleted. (JSC::B3::Air::LowerToAir::newBlock): Deleted. (JSC::B3::Air::LowerToAir::splitBlock): Deleted. (JSC::B3::Air::LowerToAir::ensureSpecial): Deleted. (JSC::B3::Air::LowerToAir::ensureCheckSpecial): Deleted. (JSC::B3::Air::LowerToAir::fillStackmap): Deleted. (JSC::B3::Air::LowerToAir::createGenericCompare): Deleted. (JSC::B3::Air::LowerToAir::createBranch): Deleted. (JSC::B3::Air::LowerToAir::createCompare): Deleted. (JSC::B3::Air::LowerToAir::createSelect): Deleted. (JSC::B3::Air::LowerToAir::tryAppendLea): Deleted. (JSC::B3::Air::LowerToAir::appendX86Div): Deleted. (JSC::B3::Air::LowerToAir::appendX86UDiv): Deleted. (JSC::B3::Air::LowerToAir::loadLinkOpcode): Deleted. (JSC::B3::Air::LowerToAir::storeCondOpcode): Deleted. (JSC::B3::Air::LowerToAir::appendCAS): Deleted. (JSC::B3::Air::LowerToAir::appendVoidAtomic): Deleted. (JSC::B3::Air::LowerToAir::appendGeneralAtomic): Deleted. (JSC::B3::Air::LowerToAir::lower): Deleted. * b3/B3PatchpointSpecial.cpp: (JSC::B3::PatchpointSpecial::generate): * b3/B3ReduceDoubleToFloat.cpp: (JSC::B3::reduceDoubleToFloat): * b3/B3ReduceStrength.cpp: * b3/B3StackmapGenerationParams.cpp: * b3/B3StackmapSpecial.cpp: (JSC::B3::StackmapSpecial::repsImpl): (JSC::B3::StackmapSpecial::repForArg): * b3/air/AirAllocateStackByGraphColoring.cpp: (JSC::B3::Air::allocateStackByGraphColoring): * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * b3/air/AirFixObviousSpills.cpp: * b3/air/AirLowerAfterRegAlloc.cpp: (JSC::B3::Air::lowerAfterRegAlloc): * b3/air/AirStackAllocation.cpp: (JSC::B3::Air::attemptAssignment): (JSC::B3::Air::assign): * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeDFGStatuses): * bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::emitDOMJITGetter): * bytecode/ObjectPropertyConditionSet.cpp: * bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::addCases): (JSC::PolymorphicAccess::regenerate): * bytecode/PropertyCondition.cpp: (JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const): * bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::addAccessCase): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal): (JSC::DFG::ByteCodeParser::inliningCost): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::planLoad): (JSC::DFG::ByteCodeParser::store): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::linkBlock): (JSC::DFG::ByteCodeParser::linkBlocks): * dfg/DFGCSEPhase.cpp: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::merge): * dfg/DFGIntegerCheckCombiningPhase.cpp: (JSC::DFG::IntegerCheckCombiningPhase::handleBlock): * dfg/DFGIntegerRangeOptimizationPhase.cpp: * dfg/DFGMovHintRemovalPhase.cpp: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPhantomInsertionPhase.cpp: * dfg/DFGPutStackSinkingPhase.cpp: * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGVarargsForwardingPhase.cpp: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::compute): * ftl/FTLAbstractHeapRepository.cpp: (JSC::FTL::AbstractHeapRepository::decorateMemory): (JSC::FTL::AbstractHeapRepository::decorateCCallRead): (JSC::FTL::AbstractHeapRepository::decorateCCallWrite): (JSC::FTL::AbstractHeapRepository::decoratePatchpointRead): (JSC::FTL::AbstractHeapRepository::decoratePatchpointWrite): (JSC::FTL::AbstractHeapRepository::decorateFenceRead): (JSC::FTL::AbstractHeapRepository::decorateFenceWrite): (JSC::FTL::AbstractHeapRepository::decorateFencedAccess): (JSC::FTL::AbstractHeapRepository::computeRangesAndDecorateInstructions): * ftl/FTLLink.cpp: (JSC::FTL::link): * heap/MarkingConstraintSet.cpp: (JSC::MarkingConstraintSet::add): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): (JSC::BinarySwitch::build): * llint/LLIntData.cpp: (JSC::LLInt::Data::loadStats): (JSC::LLInt::Data::saveStats): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint): (JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire): * runtime/ErrorInstance.cpp: (JSC::FindFirstCallerFrameWithCodeblockFunctor::FindFirstCallerFrameWithCodeblockFunctor): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::operator()): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::foundCallFrame const): Deleted. (JSC::FindFirstCallerFrameWithCodeblockFunctor::index const): Deleted. * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDateTimeFormat::initializeDateTimeFormat): * runtime/PromiseDeferredTimer.cpp: (JSC::PromiseDeferredTimer::doWork): (JSC::PromiseDeferredTimer::addPendingPromise): (JSC::PromiseDeferredTimer::cancelPendingPromise): * runtime/TypeProfiler.cpp: (JSC::TypeProfiler::insertNewLocation): * runtime/TypeProfilerLog.cpp: (JSC::TypeProfilerLog::processLogEntries): * runtime/WeakMapPrototype.cpp: (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): (JSC::getWeakMapData): Deleted. * runtime/WeakSetPrototype.cpp: (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): (JSC::getWeakMapData): Deleted. * testRegExp.cpp: (testOneRegExp): (runFromFiles): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::moveToState): (JSC::Wasm::BBQPlan::parseAndValidateModule): (JSC::Wasm::BBQPlan::prepare): (JSC::Wasm::BBQPlan::compileFunctions): (JSC::Wasm::BBQPlan::complete): * wasm/WasmFaultSignalHandler.cpp: (JSC::Wasm::trapHandler): * wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::OMGPlan): (JSC::Wasm::OMGPlan::work): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::fail): * wasm/WasmSignature.cpp: (JSC::Wasm::SignatureInformation::adopt): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): Source/WTF: This patch adds a script that will automatically bundle source files, which is currently only used by the CMake build. It's important that we use the same script to generate the bundles for the CMake build as the Xcode build. If we didn't do this then it's likely that there would be build errors that occur in only one build system. On the same note, we also need to be careful to not bundle platform specific source files with platform independent ones. There are a couple of things the script does not currently handle but are not essential for the CMake build. First, it does not handle the max bundle size restrictions that the Xcode build will require. It also does not handle C files. The unified source generator script works by collecting groups of up to 8 files from the same directory. We don't bundle files from across directories since I didn't see a speedup from doing so. Additionally, splitting at the directory boundary means that it is less likely that adding a new file will force a "clean" build. This would happen because the new file will shift every subsequent file into the next unified source bundle. Using unified sources appears to be a roughly 3.5x build time speed up for clean builds on my MBP and appears to have a negligible effect in incremental builds. * generate-unified-source-bundles.rb: Added. * wtf/Assertions.h: Canonical link: https://commits.webkit.org/193292@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221954 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-13 01:31:07 +00:00
using namespace DFG;
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
[JSC] Figure out missing prepareCallOperation https://bugs.webkit.org/show_bug.cgi?id=203285 Reviewed by Mark Lam. Source/JavaScriptCore: We start using __builtin_frame_address to get CallFrame* in JIT operations. For the platform which is not supporting this API (MSVC), we put frame-pointer to vm.topCallFrame in the caller side. The problem is that all Apple platform is now using __builtin_frame_address, and we are not testing vm.topCallFrame version at all. To find missing prepareCallOperation call, we introduce JITOperationPrologueCallFrameTracer. When USE(BUILTIN_FRAME_ADDRESS) is enabled and if it is debug build, we anyway put frame-pointer to vm.topCallFrame. And after that, we ensure that vm.topCallFrame is the same to the CallFrame* gained by __builtin_frame_address. By doing this, we can find places missing this call in debug build of Apple ports. We also found that FTL's custom getter calling is putting wrong value to vm.topCallFrame. This patch fixes it too. * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::operationCompileOSRExit): (JSC::DFG::OSRExit::compileExit): (JSC::DFG::operationDebugPrintSpeculationFailure): (JSC::DFG::OSRExit::compileOSRExit): Deleted. (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): Deleted. * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::osrWriteBarrier): * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitThunkGenerator): (JSC::DFG::osrExitGenerationThunkGenerator): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::operationCompileFTLOSRExit): (JSC::FTL::compileFTLOSRExit): Deleted. * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::operationCompileFTLLazySlowPath): (JSC::FTL::compileFTLLazySlowPath): Deleted. * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::makeCall): * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::slowPathCallThunkGenerator): * ftl/FTLThunks.h: (JSC::FTL::generateIfNecessary): (JSC::FTL::Thunks::getSlowPathCallThunk): * interpreter/FrameTracers.h: (JSC::SlowPathFrameTracer::SlowPathFrameTracer): (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): (JSC::JITOperationPrologueCallFrameTracer::~JITOperationPrologueCallFrameTracer): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::callExceptionFuzz): (JSC::AssemblyHelpers::debugCall): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/Repatch.cpp: (JSC::ftlThunkAwareRepatchCall): * jit/ThunkGenerators.cpp: (JSC::boundThisNoArgsFunctionCallGenerator): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::handleHostCall): * runtime/AtomicsObject.cpp: (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/StringPrototype.cpp: (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::operationStringProtoFuncReplaceGeneric): * tools/JSDollarVM.cpp: (IGNORE_WARNINGS_BEGIN): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::emitLoopTierUpCheck): * wasm/WasmOperations.cpp: (JSC::Wasm::operationWasmThrowBadI64): (JSC::Wasm::operationWasmTriggerOSREntryNow): (JSC::Wasm::operationWasmTriggerTierUpNow): (JSC::Wasm::operationThrowBadI64): Deleted. (JSC::Wasm::triggerOSREntryNow): Deleted. (JSC::Wasm::triggerTierUpNow): Deleted. * wasm/WasmOperations.h: * wasm/WasmThunks.cpp: (JSC::Wasm::triggerOMGEntryTierUpThunkGenerator): * wasm/js/JSWebAssembly.cpp: (JSC::instantiate): * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::operationWasmToJSException): (JSC::Wasm::emitThrowWasmToJSException): (JSC::Wasm::wasmToJSException): Deleted. * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): Source/WebCore: Use JITOperationPrologueCallFrameTracer instead of NativeCallFrameTracer. * bindings/scripts/CodeGeneratorJS.pm: (GenerateOperationDefinition): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): Source/WTF: Enable USE(BUILTIN_FRAME_ADDRESS) regardless of platform is the compilers and architectures match. * wtf/Platform.h: Canonical link: https://commits.webkit.org/216753@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251518 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-24 01:00:07 +00:00
JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
// We cannot GC. We've got pointers in evil places.
DeferGCForAWhile deferGC(vm.heap);
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
switch (materialization->type()) {
case PhantomNewObject: {
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// Figure out what the structure is
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
Structure* structure = nullptr;
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
if (property.location() != PromotedLocationDescriptor(StructurePLoc))
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
continue;
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<Structure>(vm));
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
structure = jsCast<Structure*>(JSValue::decode(values[i]));
break;
}
RELEASE_ASSERT(structure);
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
JSFinalObject* result = JSFinalObject::create(vm, structure);
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// The real values will be put subsequently by
// operationPopulateNewObjectInOSR. We can't fill them in
// now, because they may not be available yet (typically
// because we have a cyclic dependency graph).
// We put a dummy value here in order to avoid super-subtle
// GC-and-OSR-exit crashes in case we have a bug and some
// field is, for any reason, not filled later.
// We use a random-ish number instead of a sensible value like
// undefined to make possible bugs easier to track.
for (PropertyMapEntry entry : structure->getPropertiesConcurrently())
result->putDirect(vm, entry.offset, jsNumber(19723));
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
return result;
}
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=152227 Reviewed by Saam Barati. Source/JavaScriptCore: This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL. We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure. The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different __proto__. Instead of extending NewFunction / PhantomNewFunction, we just added new DFG nodes, NewGeneratorFunction and PhantomNewGeneratorFunction. This is because NewGeneratorFunction will generate an object that has different class info from JSFunction (And if JSGeneratorFunction is extended, its size will become different from JSFunction). So, rather than extending NewFunction with generator flag, just adding new DFG nodes seems cleaner. Object allocation sinking phase will change NewGeneratorFunction to PhantomNewGeneratorFunction and defer or eliminate its actual materialization. It is completely the same to NewFunction and PhantomNewFunction. And when OSR exit occurs, we need to execute deferred NewGeneratorFunction since Baseline JIT does not consider it. So in FTL operation, we should create JSGeneratorFunction if we see PhantomNewGeneratorFunction materialization. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): (JSC::DFG::Validate::validateSSA): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileNode): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/generator-function-create-optimized.js: Added. (shouldBe): (g): (test.return.gen): (test): (test2.gen): (test2): * tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-declaration-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-declaration-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-expression-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): * tests/stress/generator-function-expression-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): LayoutTests: Make the test taking longer time. * js/regress/script-tests/generator-function-create.js: (test): Canonical link: https://commits.webkit.org/170493@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-12-17 10:33:08 +00:00
case PhantomNewFunction:
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
case PhantomNewGeneratorFunction:
[ESNext] Async iteration - Implement Async Generator - runtime https://bugs.webkit.org/show_bug.cgi?id=175240 Reviewed by Yusuke Suzuki. JSTests: * stress/async-iteration-async-from-sync.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (foo): (async.boo): (bar): (async.baz): (async.goo): * stress/async-iteration-basic.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.generator): (iterator.next.then): (async.baz): (async.boo): (async.foo): (async.goo): (A.prototype.async.foo): (A.prototype.async.boo): (A): (asyncGenExp.async): (async.joo): (j.next.then): (then): (async.koo): (async.loo): (async.moo): (async.noo): (async.ooo): (async.roo): (async.poo): (async.soo): (async.too): * stress/async-iteration-evaluation.js: Added. (assert): (async.foo): (catch): * stress/async-iteration-syntax.js: * stress/async-iteration-yield-promise.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): * stress/async-iteration-yield-star-interface.js: Added. (assert): (const.getPromise.promiseHolder.return.new.Promise): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.foo): (asyncIter.Symbol.asyncIterator): (asyncIter.next): (async.boo): (asyncIter.return): (async.bar): (async.baz): (async.foobar): * stress/async-iteration-yield-star.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): (async.baz): (async.joo): (async.goo): (async.koo): (async.loo): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.moo): (async.noo): * test262.yaml: Source/JavaScriptCore: Current implementation is draft version of Async Iteration. Link to spec https://tc39.github.io/proposal-async-iteration/ To implement async generator added new states that show reason why async generator was suspended: The main difference between async function and async generator is that, async function returns promise but async generator returns object with methods (next, throw and return) that return promise that can be resolved with pair of properties value and done. Async generator functions are similar to generator functions, with the following differences: whose methods (next, throw, and return) return promises for { value, done }, instead of directly returning { value, done }. This automatically makes the returned async generator objects async iterators. delegation to sync and async iterables * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/AsyncFromSyncIteratorPrototype.js: Added. (next.try): (next): (return.try): (return): (throw.try): (throw): (globalPrivate.createAsyncFromSyncIterator): (globalPrivate.AsyncFromSyncIteratorConstructor): * builtins/AsyncGeneratorPrototype.js: Added. (globalPrivate.createAsyncGeneratorQueue): (globalPrivate.asyncGeneratorQueueIsEmpty): (globalPrivate.asyncGeneratorQueueCreateItem): (globalPrivate.asyncGeneratorQueueEnqueue): (globalPrivate.asyncGeneratorQueueDequeue): (globalPrivate.asyncGeneratorQueueGetFirstValue): (globalPrivate.asyncGeneratorDequeue): (globalPrivate.isExecutionState): (globalPrivate.isSuspendYieldState): (globalPrivate.asyncGeneratorReject): (globalPrivate.asyncGeneratorResolve): (asyncGeneratorYieldAwaited): (globalPrivate.asyncGeneratorYield): (const.onRejected): (globalPrivate.awaitValue): (const.onFulfilled): (globalPrivate.doAsyncGeneratorBodyCall): (globalPrivate.asyncGeneratorResumeNext.): (globalPrivate.asyncGeneratorResumeNext): (globalPrivate.asyncGeneratorEnqueue): (next): (return): (throw): * builtins/AsyncIteratorPrototype.js: Added. (symbolAsyncIteratorGetter): * builtins/BuiltinNames.h: * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::dumpBytecode): * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecode/BytecodeList.json: * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitCreateAsyncGeneratorQueue): (JSC::BytecodeGenerator::emitPutAsyncGeneratorFields): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitIteratorNextWithValue): (JSC::BytecodeGenerator::emitIteratorClose): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitCallIterator): (JSC::BytecodeGenerator::emitAwait): (JSC::BytecodeGenerator::emitGetIterator): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ReturnNode::emitBytecode): (JSC::FunctionNode::emitBytecode): (JSC::YieldExprNode::emitBytecode): (JSC::AwaitExprNode::emitBytecode): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_async_generator_func_exp): * jit/JITOperations.cpp: * jit/JITOperations.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * parser/ASTBuilder.h: (JSC::ASTBuilder::createFunctionMetadata): * runtime/AsyncFromSyncIteratorPrototype.cpp: Added. (JSC::AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype): (JSC::AsyncFromSyncIteratorPrototype::finishCreation): (JSC::AsyncFromSyncIteratorPrototype::create): * runtime/AsyncFromSyncIteratorPrototype.h: Added. (JSC::AsyncFromSyncIteratorPrototype::createStructure): * runtime/AsyncGeneratorFunctionConstructor.cpp: Added. (JSC::AsyncGeneratorFunctionConstructor::AsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::finishCreation): (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::getCallData): (JSC::AsyncGeneratorFunctionConstructor::getConstructData): * runtime/AsyncGeneratorFunctionConstructor.h: Added. (JSC::AsyncGeneratorFunctionConstructor::create): (JSC::AsyncGeneratorFunctionConstructor::createStructure): * runtime/AsyncGeneratorFunctionPrototype.cpp: Added. (JSC::AsyncGeneratorFunctionPrototype::AsyncGeneratorFunctionPrototype): (JSC::AsyncGeneratorFunctionPrototype::finishCreation): * runtime/AsyncGeneratorFunctionPrototype.h: Added. (JSC::AsyncGeneratorFunctionPrototype::create): (JSC::AsyncGeneratorFunctionPrototype::createStructure): * runtime/AsyncGeneratorPrototype.cpp: Added. (JSC::AsyncGeneratorPrototype::finishCreation): * runtime/AsyncGeneratorPrototype.h: Added. (JSC::AsyncGeneratorPrototype::create): (JSC::AsyncGeneratorPrototype::createStructure): (JSC::AsyncGeneratorPrototype::AsyncGeneratorPrototype): * runtime/AsyncIteratorPrototype.cpp: Added. (JSC::AsyncIteratorPrototype::finishCreation): * runtime/AsyncIteratorPrototype.h: Added. (JSC::AsyncIteratorPrototype::create): (JSC::AsyncIteratorPrototype::createStructure): (JSC::AsyncIteratorPrototype::AsyncIteratorPrototype): * runtime/CommonIdentifiers.h: * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.h: * runtime/JSAsyncGeneratorFunction.cpp: Added. (JSC::JSAsyncGeneratorFunction::JSAsyncGeneratorFunction): (JSC::JSAsyncGeneratorFunction::createImpl): (JSC::JSAsyncGeneratorFunction::create): (JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSAsyncGeneratorFunction.h: Added. (JSC::JSAsyncGeneratorFunction::allocationSize): (JSC::JSAsyncGeneratorFunction::createStructure): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncIteratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionStructure const): * runtime/Options.h: LayoutTests: * js/Object-getOwnPropertyNames-expected.txt: * js/script-tests/Object-getOwnPropertyNames.js: Canonical link: https://commits.webkit.org/192535@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 17:05:33 +00:00
case PhantomNewAsyncGeneratorFunction:
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
case PhantomNewAsyncFunction: {
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
// Figure out what the executable and activation are
FunctionExecutable* executable = nullptr;
JSScope* activation = nullptr;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
if (property.location() == PromotedLocationDescriptor(FunctionExecutablePLoc)) {
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<FunctionExecutable>(vm));
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
executable = jsCast<FunctionExecutable*>(JSValue::decode(values[i]));
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
}
if (property.location() == PromotedLocationDescriptor(FunctionActivationPLoc)) {
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<JSScope>(vm));
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
activation = jsCast<JSScope*>(JSValue::decode(values[i]));
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
}
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
}
RELEASE_ASSERT(executable && activation);
[ES6] Handle new_generator_func / new_generator_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=152227 Reviewed by Saam Barati. Source/JavaScriptCore: This patch introduces new_generator_func / new_generator_func_exp into DFG and FTL. We add a new DFG Node, NewGeneratorFunction. It will construct a function with GeneratorFunction's structure. The structure of GeneratorFunction is different from one of Function because GeneratorFunction has the different __proto__. Instead of extending NewFunction / PhantomNewFunction, we just added new DFG nodes, NewGeneratorFunction and PhantomNewGeneratorFunction. This is because NewGeneratorFunction will generate an object that has different class info from JSFunction (And if JSGeneratorFunction is extended, its size will become different from JSFunction). So, rather than extending NewFunction with generator flag, just adding new DFG nodes seems cleaner. Object allocation sinking phase will change NewGeneratorFunction to PhantomNewGeneratorFunction and defer or eliminate its actual materialization. It is completely the same to NewFunction and PhantomNewFunction. And when OSR exit occurs, we need to execute deferred NewGeneratorFunction since Baseline JIT does not consider it. So in FTL operation, we should create JSGeneratorFunction if we see PhantomNewGeneratorFunction materialization. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): (JSC::DFG::Validate::validateSSA): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileNode): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/generator-function-create-optimized.js: Added. (shouldBe): (g): (test.return.gen): (test): (test2.gen): (test2): * tests/stress/generator-function-declaration-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-declaration-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-declaration-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (f): (sink): * tests/stress/generator-function-expression-sinking-no-double-allocate.js: Added. (shouldBe): (GeneratorFunctionPrototype): (call): (f): (sink): * tests/stress/generator-function-expression-sinking-osrexit.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): * tests/stress/generator-function-expression-sinking-put.js: Added. (shouldBe): (GeneratorFunctionPrototype): (g): (sink): LayoutTests: Make the test taking longer time. * js/regress/script-tests/generator-function-create.js: (test): Canonical link: https://commits.webkit.org/170493@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194216 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-12-17 10:33:08 +00:00
if (materialization->type() == PhantomNewFunction)
return JSFunction::createWithInvalidatedReallocationWatchpoint(vm, executable, activation);
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
else if (materialization->type() == PhantomNewGeneratorFunction)
return JSGeneratorFunction::createWithInvalidatedReallocationWatchpoint(vm, executable, activation);
[ESNext] Async iteration - Implement Async Generator - runtime https://bugs.webkit.org/show_bug.cgi?id=175240 Reviewed by Yusuke Suzuki. JSTests: * stress/async-iteration-async-from-sync.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (foo): (async.boo): (bar): (async.baz): (async.goo): * stress/async-iteration-basic.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.generator): (iterator.next.then): (async.baz): (async.boo): (async.foo): (async.goo): (A.prototype.async.foo): (A.prototype.async.boo): (A): (asyncGenExp.async): (async.joo): (j.next.then): (then): (async.koo): (async.loo): (async.moo): (async.noo): (async.ooo): (async.roo): (async.poo): (async.soo): (async.too): * stress/async-iteration-evaluation.js: Added. (assert): (async.foo): (catch): * stress/async-iteration-syntax.js: * stress/async-iteration-yield-promise.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): * stress/async-iteration-yield-star-interface.js: Added. (assert): (const.getPromise.promiseHolder.return.new.Promise): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.foo): (asyncIter.Symbol.asyncIterator): (asyncIter.next): (async.boo): (asyncIter.return): (async.bar): (async.baz): (async.foobar): * stress/async-iteration-yield-star.js: Added. (assert): (const.Logger): (this.fullfilled): (this.fullfilledDone): (this.rejected): (this.catched): (this.custom): (this.isFinal): (_assertLogger): (const.assertLogger): (const.getPromise.promiseHolder.return.new.Promise): (async.foo): (async.boo): (async.bar): (async.baz): (async.joo): (async.goo): (async.koo): (async.loo): (let.asyncIter.Symbol.asyncIterator): (let.asyncIter.next): (let.asyncIter.throw): (let.asyncIter.return): (async.moo): (async.noo): * test262.yaml: Source/JavaScriptCore: Current implementation is draft version of Async Iteration. Link to spec https://tc39.github.io/proposal-async-iteration/ To implement async generator added new states that show reason why async generator was suspended: The main difference between async function and async generator is that, async function returns promise but async generator returns object with methods (next, throw and return) that return promise that can be resolved with pair of properties value and done. Async generator functions are similar to generator functions, with the following differences: whose methods (next, throw, and return) return promises for { value, done }, instead of directly returning { value, done }. This automatically makes the returned async generator objects async iterators. delegation to sync and async iterables * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/AsyncFromSyncIteratorPrototype.js: Added. (next.try): (next): (return.try): (return): (throw.try): (throw): (globalPrivate.createAsyncFromSyncIterator): (globalPrivate.AsyncFromSyncIteratorConstructor): * builtins/AsyncGeneratorPrototype.js: Added. (globalPrivate.createAsyncGeneratorQueue): (globalPrivate.asyncGeneratorQueueIsEmpty): (globalPrivate.asyncGeneratorQueueCreateItem): (globalPrivate.asyncGeneratorQueueEnqueue): (globalPrivate.asyncGeneratorQueueDequeue): (globalPrivate.asyncGeneratorQueueGetFirstValue): (globalPrivate.asyncGeneratorDequeue): (globalPrivate.isExecutionState): (globalPrivate.isSuspendYieldState): (globalPrivate.asyncGeneratorReject): (globalPrivate.asyncGeneratorResolve): (asyncGeneratorYieldAwaited): (globalPrivate.asyncGeneratorYield): (const.onRejected): (globalPrivate.awaitValue): (const.onFulfilled): (globalPrivate.doAsyncGeneratorBodyCall): (globalPrivate.asyncGeneratorResumeNext.): (globalPrivate.asyncGeneratorResumeNext): (globalPrivate.asyncGeneratorEnqueue): (next): (return): (throw): * builtins/AsyncIteratorPrototype.js: Added. (symbolAsyncIteratorGetter): * builtins/BuiltinNames.h: * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::dumpBytecode): * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecode/BytecodeList.json: * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::emitCreateAsyncGeneratorQueue): (JSC::BytecodeGenerator::emitPutAsyncGeneratorFields): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitIteratorNextWithValue): (JSC::BytecodeGenerator::emitIteratorClose): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitCallIterator): (JSC::BytecodeGenerator::emitAwait): (JSC::BytecodeGenerator::emitGetIterator): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ReturnNode::emitBytecode): (JSC::FunctionNode::emitBytecode): (JSC::YieldExprNode::emitBytecode): (JSC::AwaitExprNode::emitBytecode): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncGeneratorFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_async_generator_func_exp): * jit/JITOperations.cpp: * jit/JITOperations.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * parser/ASTBuilder.h: (JSC::ASTBuilder::createFunctionMetadata): * runtime/AsyncFromSyncIteratorPrototype.cpp: Added. (JSC::AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype): (JSC::AsyncFromSyncIteratorPrototype::finishCreation): (JSC::AsyncFromSyncIteratorPrototype::create): * runtime/AsyncFromSyncIteratorPrototype.h: Added. (JSC::AsyncFromSyncIteratorPrototype::createStructure): * runtime/AsyncGeneratorFunctionConstructor.cpp: Added. (JSC::AsyncGeneratorFunctionConstructor::AsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::finishCreation): (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): (JSC::AsyncGeneratorFunctionConstructor::getCallData): (JSC::AsyncGeneratorFunctionConstructor::getConstructData): * runtime/AsyncGeneratorFunctionConstructor.h: Added. (JSC::AsyncGeneratorFunctionConstructor::create): (JSC::AsyncGeneratorFunctionConstructor::createStructure): * runtime/AsyncGeneratorFunctionPrototype.cpp: Added. (JSC::AsyncGeneratorFunctionPrototype::AsyncGeneratorFunctionPrototype): (JSC::AsyncGeneratorFunctionPrototype::finishCreation): * runtime/AsyncGeneratorFunctionPrototype.h: Added. (JSC::AsyncGeneratorFunctionPrototype::create): (JSC::AsyncGeneratorFunctionPrototype::createStructure): * runtime/AsyncGeneratorPrototype.cpp: Added. (JSC::AsyncGeneratorPrototype::finishCreation): * runtime/AsyncGeneratorPrototype.h: Added. (JSC::AsyncGeneratorPrototype::create): (JSC::AsyncGeneratorPrototype::createStructure): (JSC::AsyncGeneratorPrototype::AsyncGeneratorPrototype): * runtime/AsyncIteratorPrototype.cpp: Added. (JSC::AsyncIteratorPrototype::finishCreation): * runtime/AsyncIteratorPrototype.h: Added. (JSC::AsyncIteratorPrototype::create): (JSC::AsyncIteratorPrototype::createStructure): (JSC::AsyncIteratorPrototype::AsyncIteratorPrototype): * runtime/CommonIdentifiers.h: * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.h: * runtime/JSAsyncGeneratorFunction.cpp: Added. (JSC::JSAsyncGeneratorFunction::JSAsyncGeneratorFunction): (JSC::JSAsyncGeneratorFunction::createImpl): (JSC::JSAsyncGeneratorFunction::create): (JSC::JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint): * runtime/JSAsyncGeneratorFunction.h: Added. (JSC::JSAsyncGeneratorFunction::allocationSize): (JSC::JSAsyncGeneratorFunction::createStructure): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncIteratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionPrototype const): (JSC::JSGlobalObject::asyncGeneratorFunctionStructure const): * runtime/Options.h: LayoutTests: * js/Object-getOwnPropertyNames-expected.txt: * js/script-tests/Object-getOwnPropertyNames.js: Canonical link: https://commits.webkit.org/192535@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-08-23 17:05:33 +00:00
else if (materialization->type() == PhantomNewAsyncGeneratorFunction)
return JSAsyncGeneratorFunction::createWithInvalidatedReallocationWatchpoint(vm, executable, activation);
[JSC] Handle new_async_func / new_async_func_exp in DFG / FTL https://bugs.webkit.org/show_bug.cgi?id=164037 Reviewed by Yusuke Suzuki. JSTests: Add tests based on tests from https://trac.webkit.org/changeset/194216. * asyncFunctionTests.yaml: * stress/async-function-create-nobaseline.js: Added. * stress/async-function-create-optimized.js: Added. * stress/async-function-declaration-sinking-no-double-allocate.js: Added. * stress/async-function-declaration-sinking-osrexit.js: Added. * stress/async-function-declaration-sinking-put.js: Added. * stress/async-function-expression-sinking-no-double-allocate.js: Added. * stress/async-function-expression-sinking-osrexit.js: Added. * stress/async-function-expression-sinking-put.js: Added. Source/JavaScriptCore: This patch introduces new_async_func / new_async_func_exp into DFG and FTL, in much the same capacity that https://trac.webkit.org/changeset/194216 added DFG / FTL support for generators: by adding new DFG nodes (NewAsyncFunction and PhantomNewAsyncFunction), rather than extending the existing NewFunction node type. Like NewFunction and PhantomNewFunction, and the Generator variants, allocation of async wrapper functions may be deferred or eliminated during the allocation sinking phase. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::convertToPhantomNewAsyncFunction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isFunctionAllocation): (JSC::DFG::Node::isPhantomFunctionAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewFunction): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::asyncFunctionPrototype): (JSC::JSGlobalObject::asyncFunctionStructure): (JSC::JSGlobalObject::lazyAsyncFunctionStructure): Deleted. (JSC::JSGlobalObject::asyncFunctionPrototypeConcurrently): Deleted. (JSC::JSGlobalObject::asyncFunctionStructureConcurrently): Deleted. Canonical link: https://commits.webkit.org/182422@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208704 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-14 21:14:15 +00:00
ASSERT(materialization->type() == PhantomNewAsyncFunction);
return JSAsyncFunction::createWithInvalidatedReallocationWatchpoint(vm, executable, activation);
Allow function allocation sinking https://bugs.webkit.org/show_bug.cgi?id=144016 Patch by Basile Clement <basile_clement@apple.com> on 2015-04-23 Reviewed by Filip Pizlo. Source/JavaScriptCore: This adds the ability to sink function allocations in the DFGObjectAllocationSinkingPhase. In order to enable this, we add a new PhantomNewFunction node that is used similarily to the PhantomNewObject node, i.e. as a placeholder to replace a sunk NewFunction and keep track of the allocations that have to be performed in case of OSR exit after the sunk allocation but before the real one. The FunctionExecutable and JSLexicalEnvironment (activation) of the function are stored onto the PhantomNewFunction through PutHints in order for them to be recovered on OSR exit. Contrary to sunk object allocations, sunk function allocations do not support any kind of operations (e.g. storing into a field) ; any such operation will mark the function allocation as escaping and trigger materialization. As such, function allocations can only be sunk to places where it would have been correct to syntactically move them, and we don't need a special MaterializeNewFunction node to recover possible operations on the function. A sunk NewFunction node will simply create new NewFunction nodes, then replace itself with a PhantomNewFunction node. In itself, this change is not expected to have a significant impact on performances other than in degenerate cases (see e.g. JSRegress/sink-function), but it is a step towards being able to sink recursive closures onces we support CreateActivation sinking as well as allocation cycles sinking. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewFunction): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/function-sinking-no-double-allocate.js: Added. (call): (.f): (sink): * tests/stress/function-sinking-osrexit.js: Added. (.g): (sink): * tests/stress/function-sinking-put.js: Added. (.g): (sink): LayoutTests: Add a new test in JSRegress to check function sinking is being performed. * js/regress/script-tests/sink-function.js: Added. (foo.f1): (foo.f2): (foo.f3): (foo.f4): (foo.f5): (foo.f6): (foo.f7): (foo.f8): (foo.f9): (foo.f10): (foo.f11): (foo.f12): (foo.f13): (foo.f14): (foo.f15): (foo.f16): (foo.f17): (foo.f18): (foo.f19): (foo): Canonical link: https://commits.webkit.org/162108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-04-24 02:23:36 +00:00
}
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
case PhantomCreateActivation: {
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// Figure out what the scope and symbol table are
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
JSScope* scope = nullptr;
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
SymbolTable* table = nullptr;
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
if (property.location() == PromotedLocationDescriptor(ActivationScopePLoc)) {
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<JSScope>(vm));
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
scope = jsCast<JSScope*>(JSValue::decode(values[i]));
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
} else if (property.location() == PromotedLocationDescriptor(ActivationSymbolTablePLoc)) {
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<SymbolTable>(vm));
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
table = jsCast<SymbolTable*>(JSValue::decode(values[i]));
Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object https://bugs.webkit.org/show_bug.cgi?id=168140 <rdar://problem/30205880> Reviewed by Filip Pizlo. JSTests: * stress/allocation-sinking-puthint-control-flow.js: Added. (e): (bar): (let.y): (else.let.y): (baz): (foo): (catch): Source/JavaScriptCore: This patch fixes a bug in allocation sinking phase where we don't properly handle control flow when materializing an object and also PutHinting that materialization into a still sunken object. We were performing the PutHint for the materialization at the point of materialization, however, we may have materialized along both edges of a control flow diamond, in which case, we need to also PutHint at the join point. Consider this program: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() // What is PromotedHeapLocation(@a, ActivationLoc) here? // What would we do if we exited? ``` Before this patch, we didn't perform a PutHint of the Phi. However, we need to, otherwise when exit, we won't know the value of PromotedHeapLocation(@a, ActivationLoc) The program we need then, for correctness, is this: ``` bb#0: b: PhantomActivation() a: PhantomNewFunction() c: PutHint(@a, @b, ActivationLoc) Branch(#1, #2) bb#1: d: MaterializeActivation() e: PutHint(@a, @d, ActivationLoc) f: Upsilon(@d, ^p) Jump(#3) bb#2: g: MaterializeActivation() h: PutHint(@a, @g, ActivationLoc) i: Upsilon(@d, ^p) Jump(#3) bb#3: p: Phi() j: PutHint(@a, @p, ActivationLoc) ``` This patch makes it so that we emit the necessary PutHint at node `j`. I've also added more validation to the OSRAvailabilityAnalysisPhase to catch this problem during validation. * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): * dfg/DFGObjectAllocationSinkingPhase.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Canonical link: https://commits.webkit.org/185217@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@212177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-02-11 04:05:06 +00:00
}
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
}
RELEASE_ASSERT(scope);
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
RELEASE_ASSERT(table);
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
materialization->origin(), callFrame->codeBlock()->baselineAlternative());
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
Structure* structure = codeBlock->globalObject()->activationStructure();
[ES6] implement block scoping to enable 'let' https://bugs.webkit.org/show_bug.cgi?id=142944 Reviewed by Filip Pizlo. Source/JavaScriptCore: * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: * JavaScriptCore.xcodeproj/project.pbxproj: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutableInternal): * bytecode/BytecodeList.json: This patch adds a new opcode and removes op_pop_scope: 1) op_get_parent_scope returns the parent scope but doesn't implicitly write that scope into the scope register. op_pop_scope is now reduced to op_get_parent_scope followed by op_mov. * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::stronglyVisitStrongReferences): * bytecode/CodeBlock.h: (JSC::CodeBlock::addStringSwitchJumpTable): (JSC::CodeBlock::stringSwitchJumpTable): (JSC::CodeBlock::symbolTable): (JSC::CodeBlock::evalCodeCache): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::replaceConstant): op_put_to_scope for LocalClosureVar now takes as an argument the constant index for the Symbol Table it will be putting into. This argument is only used to communicate from the BytecodeGenerator to CodeBlock linking time and it is not present in the linked bytecode. op_put_to_scope for non LocalClosureVar takes, at the same index, an argument that represents the local scope depth which it uses for JSScope::abstractResolve to know how many scopes it needs to skip. Again, this is not in the linked code. op_get_from_scope and op_resolve_scope also take as an argument the local scope depth to use in JSScope::abstractResolve. Again, this is not used in the linked code. * bytecode/EvalCodeCache.h: (JSC::EvalCodeCache::tryGet): (JSC::EvalCodeCache::getSlow): (JSC::EvalCodeCache::clear): (JSC::EvalCodeCache::isCacheable): When direct eval is called and passed a scope that corresponds to a lexical scope, we can't safely cache that code because we won't be able to guarantee that the cached code is always executed in the same scope. Consider this example: function foo() { let x = 20; eval("x;"); if (b) { let x = 30; if (b) { let y = 40; eval("x;") } } } We can't reuse resolution depth when linking get_from_scope in evals. * bytecode/UnlinkedCodeBlock.cpp: (JSC::generateFunctionCodeBlock): (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable): (JSC::UnlinkedFunctionExecutable::parameterCount): * bytecode/UnlinkedCodeBlock.h: Unlinked functions now know the variables that were under TDZ in their parent scope. (JSC::UnlinkedCodeBlock::symbolTable): (JSC::UnlinkedCodeBlock::setSymbolTable): (JSC::UnlinkedCodeBlock::setSymbolTableConstantIndex): (JSC::UnlinkedCodeBlock::symbolTableConstantIndex): (JSC::UnlinkedCodeBlock::vm): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::~BytecodeGenerator): (JSC::BytecodeGenerator::newRegister): (JSC::BytecodeGenerator::reclaimFreeRegisters): (JSC::BytecodeGenerator::newBlockScopeVariable): (JSC::BytecodeGenerator::newTemporary): (JSC::BytecodeGenerator::emitProfileType): (JSC::BytecodeGenerator::emitLoadGlobalObject): (JSC::BytecodeGenerator::pushLexicalScope): (JSC::BytecodeGenerator::popLexicalScope): (JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::variablePerSymbolTable): (JSC::BytecodeGenerator::variableForLocalEntry): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitTDZCheck): (JSC::BytecodeGenerator::needsTDZCheck): (JSC::BytecodeGenerator::emitTDZCheckIfNecessary): (JSC::BytecodeGenerator::liftTDZCheckIfPossible): (JSC::BytecodeGenerator::getVariablesUnderTDZ): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitPushWithScope): (JSC::BytecodeGenerator::emitGetParentScope): (JSC::BytecodeGenerator::emitPopScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::pushFinallyContext): (JSC::BytecodeGenerator::pushIteratorCloseContext): (JSC::BytecodeGenerator::emitComplexPopScopes): (JSC::BytecodeGenerator::emitPopScopes): (JSC::BytecodeGenerator::popTryAndEmitCatch): (JSC::BytecodeGenerator::calculateTargetScopeDepthForExceptionHandler): (JSC::BytecodeGenerator::currentScopeDepth): (JSC::BytecodeGenerator::emitThrowReferenceError): (JSC::BytecodeGenerator::emitPushCatchScope): (JSC::BytecodeGenerator::beginSwitch): (JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded): (JSC::BytecodeGenerator::emitEnumeration): * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::symbolTableConstantIndex): (JSC::Variable::ident): (JSC::BytecodeGenerator::ignoredResult): (JSC::BytecodeGenerator::tempDestination): (JSC::BytecodeGenerator::lastOpcodeID): (JSC::BytecodeGenerator::makeFunction): (JSC::BytecodeGenerator::symbolTable): (JSC::BytecodeGenerator::shouldOptimizeLocals): Deleted. (JSC::BytecodeGenerator::canOptimizeNonLocals): Deleted. The heart of the changes in this patch are in the bytecode generator. The bytecode generator now keeps a stack of tuples of {symbol table, scope register, flag indicating catch or with scope, symbol table index in constant pool} that models the runtime scope stack. This symbol table stack is used in resolving local variables. Also, the bytecode generator handles pushing and popping of lexical scopes. This is relatively straight forward: Captured 'let' variables end up in the JSLexicalEnvironment scope and non-captured variables end up on the stack. Some trickiness is involved in generating code for 'for' loops that have captured variables (I'm talking about variables in the loop header, not the loop body). Each iteration of the for loop ends up with its own JSLexicalEnvironment. Static code must be generated in such a way to create this runtime behavior. This is done by emitting instructions to push and pop a lexical scope at the end of each loop and copying values from the previous loop's scope into the new scope. This code must also ensure that each loop iteration's scope refers to the same underlying SymbolTable so that no scope is accidentally mistaken as being a singleton scope. When the debugger is enabled, all lexically defined variables will end up in the JSLexicalEnvironment. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::BlockNode::emitBytecode): (JSC::ExprStatementNode::emitBytecode): (JSC::DeclarationStatement::emitBytecode): (JSC::EmptyVarExpression::emitBytecode): (JSC::EmptyLetExpression::emitBytecode): (JSC::ForNode::emitBytecode): (JSC::ForInNode::emitMultiLoopBytecode): (JSC::ForOfNode::emitBytecode): (JSC::SwitchNode::emitBytecode): (JSC::BindingNode::bindValue): (JSC::VarStatementNode::emitBytecode): Deleted. * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::evaluate): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGNode.h: (JSC::DFG::Node::castConstant): (JSC::DFG::Node::initializationValueForActivation): (JSC::DFG::Node::containsMovHint): * dfg/DFGObjectAllocationSinkingPhase.cpp: CreateActivation nodes now have a second OpInfo that tracks the initial value that needs to be placed in the activation. This initial value is also used in allocation sinking to create proper bottom values for all scope variables. * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * ftl/FTLIntrinsicRepository.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::Interpreter::execute): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_push_with_scope): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_pop_scope): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_push_with_scope): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_pop_scope): Deleted. * jit/JITOperations.cpp: (JSC::canAccessArgumentIndexQuickly): * jit/JITOperations.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/ASTBuilder.h: (JSC::ASTBuilder::createSourceElements): (JSC::ASTBuilder::funcDeclarations): (JSC::ASTBuilder::features): (JSC::ASTBuilder::numConstants): (JSC::ASTBuilder::createConditionalExpr): (JSC::ASTBuilder::createAssignResolve): (JSC::ASTBuilder::createClassDeclStatement): (JSC::ASTBuilder::createBlockStatement): (JSC::ASTBuilder::createIfStatement): (JSC::ASTBuilder::createForLoop): (JSC::ASTBuilder::createForInLoop): (JSC::ASTBuilder::createForOfLoop): (JSC::ASTBuilder::isBindingNode): (JSC::ASTBuilder::createEmptyStatement): (JSC::ASTBuilder::createDeclarationStatement): (JSC::ASTBuilder::createVarStatement): (JSC::ASTBuilder::createLetStatement): (JSC::ASTBuilder::createEmptyVarExpression): (JSC::ASTBuilder::createEmptyLetExpression): (JSC::ASTBuilder::createReturnStatement): (JSC::ASTBuilder::createTryStatement): (JSC::ASTBuilder::createSwitchStatement): (JSC::ASTBuilder::appendStatement): (JSC::ASTBuilder::createCommaExpr): (JSC::ASTBuilder::appendObjectPatternEntry): (JSC::ASTBuilder::createBindingLocation): (JSC::ASTBuilder::setEndOffset): (JSC::ASTBuilder::Scope::Scope): (JSC::ASTBuilder::makeAssignNode): (JSC::ASTBuilder::varDeclarations): Deleted. (JSC::ASTBuilder::addVar): Deleted. * parser/Keywords.table: * parser/NodeConstructors.h: (JSC::ReadModifyResolveNode::ReadModifyResolveNode): (JSC::AssignResolveNode::AssignResolveNode): (JSC::ExprStatementNode::ExprStatementNode): (JSC::DeclarationStatement::DeclarationStatement): (JSC::EmptyVarExpression::EmptyVarExpression): (JSC::EmptyLetExpression::EmptyLetExpression): (JSC::IfElseNode::IfElseNode): (JSC::WhileNode::WhileNode): (JSC::ForNode::ForNode): (JSC::CaseBlockNode::CaseBlockNode): (JSC::SwitchNode::SwitchNode): (JSC::ConstDeclNode::ConstDeclNode): (JSC::BlockNode::BlockNode): (JSC::EnumerationNode::EnumerationNode): (JSC::ForInNode::ForInNode): (JSC::ForOfNode::ForOfNode): (JSC::ObjectPatternNode::create): (JSC::BindingNode::create): (JSC::BindingNode::BindingNode): (JSC::VarStatementNode::VarStatementNode): Deleted. * parser/Nodes.cpp: (JSC::ScopeNode::ScopeNode): (JSC::ScopeNode::singleStatement): (JSC::ProgramNode::ProgramNode): (JSC::EvalNode::EvalNode): (JSC::FunctionNode::FunctionNode): (JSC::FunctionNode::finishParsing): (JSC::VariableEnvironmentNode::VariableEnvironmentNode): * parser/Nodes.h: (JSC::VariableEnvironmentNode::VariableEnvironmentNode): (JSC::VariableEnvironmentNode::lexicalVariables): (JSC::ScopeNode::usesThis): (JSC::ScopeNode::needsActivationForMoreThanVariables): (JSC::ScopeNode::needsActivation): (JSC::ScopeNode::hasCapturedVariables): (JSC::ScopeNode::captures): (JSC::ScopeNode::varDeclarations): (JSC::ScopeNode::functionStack): (JSC::ScopeNode::neededConstants): (JSC::ProgramNode::startColumn): (JSC::ProgramNode::endColumn): (JSC::EvalNode::startColumn): (JSC::EvalNode::endColumn): (JSC::BindingNode::boundProperty): (JSC::BindingNode::divotStart): (JSC::BindingNode::divotEnd): (JSC::ScopeNode::capturedVariableCount): Deleted. (JSC::ScopeNode::capturedVariables): Deleted. (JSC::ScopeNode::varStack): Deleted. There is a new class called 'VariableEnvironmentNode' that has the necessary fields to model a lexical scope. Multiple AST nodes now also inherit from VariableEnvironmentNode. * parser/Parser.cpp: (JSC::Parser<LexerType>::parseInner): (JSC::Parser<LexerType>::didFinishParsing): (JSC::Parser<LexerType>::parseStatementListItem): (JSC::Parser<LexerType>::parseVariableDeclaration): (JSC::Parser<LexerType>::parseWhileStatement): (JSC::Parser<LexerType>::parseVariableDeclarationList): (JSC::Parser<LexerType>::createBindingPattern): (JSC::Parser<LexerType>::tryParseDestructuringPatternExpression): (JSC::Parser<LexerType>::parseDestructuringPattern): (JSC::Parser<LexerType>::parseConstDeclarationList): (JSC::Parser<LexerType>::parseForStatement): (JSC::Parser<LexerType>::parseBreakStatement): (JSC::Parser<LexerType>::parseContinueStatement): (JSC::Parser<LexerType>::parseSwitchStatement): (JSC::Parser<LexerType>::parseTryStatement): (JSC::Parser<LexerType>::parseBlockStatement): (JSC::Parser<LexerType>::parseStatement): (JSC::Parser<LexerType>::parseFunctionInfo): (JSC::Parser<LexerType>::parseClassDeclaration): (JSC::Parser<LexerType>::parseClass): (JSC::Parser<LexerType>::parseExpressionOrLabelStatement): (JSC::Parser<LexerType>::parseAssignmentExpression): (JSC::Parser<LexerType>::parseGetterSetter): (JSC::Parser<LexerType>::parsePrimaryExpression): (JSC::Parser<LexerType>::parseVarDeclaration): Deleted. (JSC::Parser<LexerType>::parseVarDeclarationList): Deleted. * parser/Parser.h: (JSC::Scope::Scope): (JSC::Scope::setIsFunction): (JSC::Scope::isFunction): (JSC::Scope::isFunctionBoundary): (JSC::Scope::setIsLexicalScope): (JSC::Scope::isLexicalScope): (JSC::Scope::declaredVariables): (JSC::Scope::finalizeLexicalEnvironment): (JSC::Scope::computeLexicallyCapturedVariablesAndPurgeCandidates): (JSC::Scope::declareCallee): (JSC::Scope::declareVariable): (JSC::Scope::declareLexicalVariable): (JSC::Scope::hasDeclaredVariable): (JSC::Scope::hasLexicallyDeclaredVariable): (JSC::Scope::hasDeclaredParameter): (JSC::Scope::declareWrite): (JSC::Scope::preventAllVariableDeclarations): (JSC::Scope::preventVarDeclarations): (JSC::Scope::allowsVarDeclarations): (JSC::Scope::allowsLexicalDeclarations): (JSC::Scope::declareParameter): (JSC::Scope::declareBoundParameter): (JSC::Scope::useVariable): (JSC::Scope::setNeedsFullActivation): (JSC::Scope::needsFullActivation): (JSC::Scope::hasDirectSuper): (JSC::Scope::setNeedsSuperBinding): (JSC::Scope::collectFreeVariables): (JSC::Scope::getCapturedVars): (JSC::Scope::copyCapturedVariablesToVector): (JSC::Parser::AutoCleanupLexicalScope::AutoCleanupLexicalScope): (JSC::Parser::AutoCleanupLexicalScope::~AutoCleanupLexicalScope): (JSC::Parser::AutoCleanupLexicalScope::setIsValid): (JSC::Parser::AutoCleanupLexicalScope::isValid): (JSC::Parser::AutoCleanupLexicalScope::setPopped): (JSC::Parser::AutoCleanupLexicalScope::scope): (JSC::Parser::currentScope): (JSC::Parser::pushScope): (JSC::Parser::popScopeInternal): (JSC::Parser::popScope): (JSC::Parser::declareVariable): (JSC::Parser::hasDeclaredVariable): (JSC::Parser::hasDeclaredParameter): (JSC::Parser::declareWrite): (JSC::Parser::findCachedFunctionInfo): (JSC::Parser::isFunctionBodyNode): (JSC::Parser::continueIsValid): (JSC::Parser::pushLabel): (JSC::Parser::popLabel): (JSC::Parser::getLabel): (JSC::Parser::isLETMaskedAsIDENT): (JSC::Parser<LexerType>::parse): (JSC::Scope::preventNewDecls): Deleted. (JSC::Scope::allowsNewDecls): Deleted. (JSC::Scope::getCapturedVariables): Deleted. There are basic parser changes that now allow for the 'let' keyword. The trickiest change is how we will still treat 'let' as an identifier for sloppy-mode code sometimes. For example, "var let = ..." is allowed but "let let" or "const let" is not. The most significant change to the parser made for this patch is appropriating the Scope struct to also also model a lexical scope. Changes were made in how we track captured variables to account for this. In general, I think some of this code could benefit from a slight refactoring to make things cleaner. * parser/ParserTokens.h: * parser/SyntaxChecker.h: (JSC::SyntaxChecker::createNewExpr): (JSC::SyntaxChecker::createConditionalExpr): (JSC::SyntaxChecker::createAssignResolve): (JSC::SyntaxChecker::createEmptyVarExpression): (JSC::SyntaxChecker::createEmptyLetExpression): (JSC::SyntaxChecker::createClassExpr): (JSC::SyntaxChecker::createClassDeclStatement): (JSC::SyntaxChecker::createBlockStatement): (JSC::SyntaxChecker::createExprStatement): (JSC::SyntaxChecker::createIfStatement): (JSC::SyntaxChecker::createForLoop): (JSC::SyntaxChecker::createForInLoop): (JSC::SyntaxChecker::createForOfLoop): (JSC::SyntaxChecker::createEmptyStatement): (JSC::SyntaxChecker::createVarStatement): (JSC::SyntaxChecker::createLetStatement): (JSC::SyntaxChecker::createReturnStatement): (JSC::SyntaxChecker::createBreakStatement): (JSC::SyntaxChecker::createContinueStatement): (JSC::SyntaxChecker::createTryStatement): (JSC::SyntaxChecker::createSwitchStatement): (JSC::SyntaxChecker::createWhileStatement): (JSC::SyntaxChecker::createWithStatement): (JSC::SyntaxChecker::createDoWhileStatement): (JSC::SyntaxChecker::createGetterOrSetterProperty): (JSC::SyntaxChecker::appendStatement): (JSC::SyntaxChecker::combineCommaNodes): (JSC::SyntaxChecker::evalCount): (JSC::SyntaxChecker::appendBinaryExpressionInfo): (JSC::SyntaxChecker::operatorStackPop): (JSC::SyntaxChecker::addVar): Deleted. * parser/VariableEnvironment.cpp: Added. (JSC::VariableEnvironment::markVariableAsCapturedIfDefined): (JSC::VariableEnvironment::markVariableAsCaptured): (JSC::VariableEnvironment::markAllVariablesAsCaptured): (JSC::VariableEnvironment::hasCapturedVariables): (JSC::VariableEnvironment::captures): (JSC::VariableEnvironment::swap): * parser/VariableEnvironment.h: Added. (JSC::VariableEnvironmentEntry::isCaptured): (JSC::VariableEnvironmentEntry::isConstant): (JSC::VariableEnvironmentEntry::isVar): (JSC::VariableEnvironmentEntry::isLet): (JSC::VariableEnvironmentEntry::setIsCaptured): (JSC::VariableEnvironmentEntry::setIsConstant): (JSC::VariableEnvironmentEntry::setIsVar): (JSC::VariableEnvironmentEntry::setIsLet): (JSC::VariableEnvironmentEntry::clearIsVar): (JSC::VariableEnvironment::begin): (JSC::VariableEnvironment::end): (JSC::VariableEnvironment::add): (JSC::VariableEnvironment::size): (JSC::VariableEnvironment::contains): (JSC::VariableEnvironment::remove): VariableEnvironment is a new class that keeps track of the static environment in the parser and the bytecode generator. VariableEnvironment behaves like SymbolTable but for the bytecode generator. It keeps track of variable types, i.e, if a variable is a "var", "let", "const" and whether or not its captured. * runtime/CodeCache.cpp: (JSC::CodeCache::getGlobalCodeBlock): (JSC::CodeCache::getProgramCodeBlock): (JSC::CodeCache::getEvalCodeBlock): (JSC::CodeCache::getFunctionExecutableFromGlobalCode): * runtime/CodeCache.h: (JSC::CodeCache::clear): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ExceptionHelpers.cpp: (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): * runtime/ExceptionHelpers.h: * runtime/Executable.cpp: (JSC::EvalExecutable::create): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/Executable.h: * runtime/JSCJSValue.h: (JSC::jsUndefined): (JSC::jsTDZValue): (JSC::jsBoolean): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::createProgramCodeBlock): (JSC::JSGlobalObject::createEvalCodeBlock): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::weakRandomInteger): * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): * runtime/JSScope.cpp: (JSC::JSScope::resolve): (JSC::JSScope::abstractResolve): (JSC::JSScope::collectVariablesUnderTDZ): (JSC::JSScope::isLexicalScope): (JSC::resolveModeName): * runtime/JSScope.h: * runtime/PropertySlot.h: (JSC::PropertySlot::setValue): * runtime/SymbolTable.cpp: (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::cloneScopePart): * runtime/SymbolTable.h: SymbolTable now uses an extra bit to know if it corresponds to a "let"-like environment or not. * runtime/WriteBarrier.h: (JSC::WriteBarrierBase<Unknown>::get): (JSC::WriteBarrierBase<Unknown>::clear): (JSC::WriteBarrierBase<Unknown>::setUndefined): (JSC::WriteBarrierBase<Unknown>::setStartingValue): (JSC::WriteBarrierBase<Unknown>::isNumber): (JSC::WriteBarrierBase<Unknown>::isObject): (JSC::WriteBarrierBase<Unknown>::isNull): * tests/stress/activation-sink-default-value-tdz-error.js: Added. (shouldThrowTDZ): (bar): (foo.cap): * tests/stress/activation-sink-osrexit-default-value-tdz-error.js: Added. (shouldThrowTDZ): (bar): * tests/stress/lexical-let-and-with-statement.js: Added. (truth): (assert): (.): * tests/stress/lexical-let-exception-handling.js: Added. (truth): (assert): (.): * tests/stress/lexical-let-global-not-captured-variables.js: Added. (truth): (assert): (foo): (.let.capY): * tests/stress/lexical-let-loop-semantics.js: Added. (truth): (assert): (shouldThrowTDZ): (.): * tests/stress/lexical-let-not-strict-mode.js: Added. (truth): (assert): (shouldThrowTDZ): (.): * tests/stress/lexical-let-semantics.js: Added. (truth): (assert): (let.globalFunction): (let.retGlobalNumberCaptured): (let.setGlobalNumberCaptured): (.): * tests/stress/lexical-let-tdz.js: Added. (truth): (assert): (shouldThrowTDZ): (.): LayoutTests: * js/dom/reserved-words-as-property-expected.txt: * js/keywords-and-reserved_words-expected.txt: * js/let-syntax-expected.txt: Added. * js/let-syntax.html: Added. * js/reserved-words-strict-expected.txt: * js/script-tests/keywords-and-reserved_words.js: * js/script-tests/let-syntax.js: Added. (truth): (assert): (hasSyntaxError): (shouldHaveSyntaxError): (shouldNotHaveSyntaxError): (shouldHaveSyntaxErrorStrictOnly): * js/script-tests/reserved-words-strict.js: * js/script-tests/statement-list-item-syntax-errors.js: (testSyntax): (runTests): * js/statement-list-item-syntax-errors-expected.txt: Canonical link: https://commits.webkit.org/165034@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-15 21:41:08 +00:00
// It doesn't matter what values we initialize as bottom values inside the activation constructor because
// activation sinking will set bottom values for each slot.
// FIXME: Slight optimization would be to create a constructor that doesn't initialize all slots.
JSLexicalEnvironment* result = JSLexicalEnvironment::create(vm, structure, scope, table, jsUndefined());
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
RELEASE_ASSERT(materialization->properties().size() - 2 == table->scopeSize());
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
// The real values will be put subsequently by
// operationPopulateNewObjectInOSR. See the PhantomNewObject
// case for details.
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ClosureVarPLoc)
continue;
Object cycles should not prevent allocation elimination/sinking https://bugs.webkit.org/show_bug.cgi?id=143073 Reviewed by Filip Pizlo. Source/JavaScriptCore: This patch introduces a new allocation sinking phase that is able to sink cycles, in DFGAllocationCycleSinkingPhase.cpp. This phase supersedes the old allocation sinking phase in DFGObjectAllocationSinkingPhase.cpp, as that previous phase was never able to sink allocation cycles while the new phase sometimes can; see DFGAllocationCycleSinkingPhase.cpp for details. For now, the new sinking phase is kept behind a JSC_enableAllocationCycleSinking flag that reverts to the old sinking phase when false (i.e., by default). This also removes the old JSC_enableObjectAllocationSinking flag. run-javascriptcore-tests defaults to using the new sinking phase. * dfg/DFGGraph.h: (JSC::DFG::Graph::addStructureSet): Allow empty structure sets * dfg/DFGLazyNode.cpp: (JSC::DFG::LazyNode::dump): Prettier dump * dfg/DFGNode.h: (JSC::DFG::Node::cellOperand): Move to opInfo for MaterializeCreateActivation (JSC::DFG::Node::hasStructureSet): Add MaterializeNewObject (JSC::DFG::Node::objectMaterializationData): Move to opInfo2 * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: Remove unused header * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::run): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::resolve): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): Deleted. (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): Deleted. * dfg/DFGObjectAllocationSinkingPhase.h: * dfg/DFGPromotedHeapLocation.h: Add a hash and a helper function to PromotedLocationDescriptor (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator bool): (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization): (JSC::DFG::PromotedLocationDescriptorHash::hash): (JSC::DFG::PromotedLocationDescriptorHash::equal): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateSSA): Assert that most nodes never see a phantom allocation * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): Use the new structureSet() operand (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): Node has a new child * ftl/FTLOSRExitCompiler.cpp: Handle materialization cycles (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Handle materialization cycles (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Handle materialization cycles * tests/stress/correctly-sink-object-even-though-it-dies.js: Added. (clobber): (foo): * tests/stress/eliminate-object-read-over-call.js: Added. (clobber): (foo): * tests/stress/materialize-object-on-edge.js: Added. (call): (foo): * tests/stress/object-sinking-stress.js: Added. (foo): * tests/stress/sink-object-cycle.js: Added. (clobber): (foo): * tests/stress/sink-object-past-put.js: Added. (clobber): (foo): * tests/stress/sinkable-new-object-in-loop.js: Added. (foo): LayoutTests: Add a few microbenchmarks that show performance improvement when sinking or elimininating object cycles. * js/regress/elidable-new-object-cycle-expected.txt: Added. * js/regress/elidable-new-object-cycle.html: Added. * js/regress/script-tests/elidable-new-object-cycle.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-closure-cycle.js: Added. (factorial.f): (factorial): * js/regress/script-tests/sinkable-new-object-cycle.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/sinkable-closure-cycle-expected.txt: Added. * js/regress/sinkable-closure-cycle.html: Added. * js/regress/sinkable-new-object-cycle-expected.txt: Added. * js/regress/sinkable-new-object-cycle.html: Added. Canonical link: https://commits.webkit.org/164985@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186795 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-07-13 23:27:30 +00:00
result->variableAt(ScopeOffset(property.location().info())).set(
Avoid duplicate computations of ExecState::vm(). https://bugs.webkit.org/show_bug.cgi?id=176647 Reviewed by Saam Barati. Source/JavaScriptCore: Because while computing ExecState::vm() is cheap, it is not free. This patch also: 1. gets rids of some convenience methods in CallFrame that implicitly does a ExecState::vm() computation. This minimizes the chance of us accidentally computing ExecState::vm() more than necessary. 2. passes vm (when available) to methodTable(). 3. passes vm (when available) to JSLockHolder. * API/JSBase.cpp: (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::create): * API/JSCallbackObject.h: (JSC::JSCallbackObject::create): * API/JSContext.mm: (-[JSContext setException:]): * API/JSContextRef.cpp: (JSContextGetGlobalObject): (JSContextCreateBacktrace): * API/JSManagedValue.mm: (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSPropertyNameAccumulatorAddName): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (JSValueGetTypedArrayType): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): * API/ObjCCallbackFunction.mm: (objCCallbackFunctionForInvocation): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::jettison): * bytecode/CodeBlock.h: (JSC::CodeBlock::addConstant): (JSC::CodeBlock::replaceConstant): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): (JSC::PutByIdStatus::computeFor): * dfg/DFGDesiredWatchpoints.cpp: (JSC::DFG::ArrayBufferViewWatchpointAdaptor::add): * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGOperations.cpp: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileFTLOSRExit): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * heap/GCAssertions.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::JSInjectedScriptHost::iteratorEntries): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::toJS): * inspector/ScriptCallStackFactory.cpp: (Inspector::extractSourceInformationFromException): (Inspector::createScriptArguments): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.h: (JSC::ExecState::atomicStringTable const): Deleted. (JSC::ExecState::propertyNames const): Deleted. (JSC::ExecState::emptyList const): Deleted. (JSC::ExecState::interpreter): Deleted. (JSC::ExecState::heap): Deleted. * interpreter/Interpreter.cpp: (JSC::Interpreter::executeProgram): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: * jit/JITWorklist.cpp: (JSC::JITWorklist::compileNow): * jsc.cpp: (WTF::RuntimeArray::create): (WTF::RuntimeArray::getOwnPropertySlot): (WTF::DOMJITGetter::DOMJITAttribute::slowCall): (WTF::DOMJITFunctionObject::unsafeFunction): (WTF::DOMJITCheckSubClassObject::unsafeFunction): (GlobalObject::moduleLoaderFetch): (functionDumpCallFrame): (functionCreateRoot): (functionGetElement): (functionSetElementRoot): (functionCreateSimpleObject): (functionSetHiddenValue): (functionCreateProxy): (functionCreateImpureGetter): (functionCreateCustomGetterObject): (functionCreateDOMJITNodeObject): (functionCreateDOMJITGetterObject): (functionCreateDOMJITGetterComplexObject): (functionCreateDOMJITFunctionObject): (functionCreateDOMJITCheckSubClassObject): (functionGCAndSweep): (functionFullGC): (functionEdenGC): (functionHeapSize): (functionShadowChickenFunctionsOnStack): (functionSetGlobalConstRedeclarationShouldNotThrow): (functionJSCOptions): (functionFailNextNewCodeBlock): (functionMakeMasquerader): (functionDumpTypesForAllVariables): (functionFindTypeForExpression): (functionReturnTypeFor): (functionDumpBasicBlockExecutionRanges): (functionBasicBlockExecutionCount): (functionDrainMicrotasks): (functionGenerateHeapSnapshot): (functionEnsureArrayStorage): (functionStartSamplingProfiler): (runInteractive): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * runtime/AbstractModuleRecord.cpp: (JSC::identifierToJSValue): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::getExportedNames): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): * runtime/BooleanConstructor.cpp: (JSC::constructBooleanFromImmediateBoolean): * runtime/CallData.cpp: (JSC::call): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::evaluate): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/ConstructData.cpp: (JSC::construct): * runtime/DatePrototype.cpp: (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.h: (JSC::DirectArguments::length const): * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/ExceptionHelpers.cpp: (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): * runtime/FunctionConstructor.cpp: (JSC::constructFunction): * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertyNames): * runtime/IdentifierInlines.h: (JSC::Identifier::add): * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): * runtime/InternalFunction.cpp: (JSC::InternalFunction::finishCreation): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/JSArray.cpp: (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::isIteratorProtocolFastAndNonObservable): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSDataView.cpp: (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::reifyName): * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSMap.cpp: (JSC::JSMap::isIteratorProtocolFastAndNonObservable): * runtime/JSMapIterator.h: (JSC::JSMapIterator::advanceIter): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): * runtime/JSModuleLoader.cpp: (JSC::printableModuleKey): (JSC::JSModuleLoader::provide): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::evaluate): * runtime/JSONObject.cpp: (JSC::Stringifier::Stringifier): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::appendNextProperty): * runtime/JSObject.cpp: (JSC::JSObject::calculatedClassName): (JSC::JSObject::putByIndex): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::toPrimitive const): (JSC::JSObject::hasInstance): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): * runtime/JSObjectInlines.h: (JSC::JSObject::canPerformFastPutInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): * runtime/JSScope.cpp: (JSC::isUnscopable): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): * runtime/JSSet.cpp: (JSC::JSSet::isIteratorProtocolFastAndNonObservable): * runtime/JSSetIterator.h: (JSC::JSSetIterator::advanceIter): * runtime/JSString.cpp: (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::getStringPropertySlot): * runtime/MapConstructor.cpp: (JSC::constructMap): * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::create): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncToLocaleString): * runtime/ProgramExecutable.h: * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::put): * runtime/ScopedArguments.h: (JSC::ScopedArguments::length const): * runtime/StrictEvalActivation.h: (JSC::StrictEvalActivation::create): * runtime/StringObject.cpp: (JSC::isStringOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::getOwnNonIndexPropertyNames): * tools/JSDollarVMPrototype.cpp: (JSC::JSDollarVMPrototype::gc): (JSC::JSDollarVMPrototype::edenGC): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::evaluate): Source/WebCore: No new tests because this is only a refactoring patch. There is no significant behavior change. * Modules/mediastream/SDPProcessor.cpp: (WebCore::SDPProcessor::callScript const): * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::installReplacement): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSDOMConvertRecord.h: * bindings/js/JSDOMMapLike.h: (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::addCrossOriginWindowOwnPropertyNames): * bindings/js/JSDocumentCustom.cpp: (WebCore::reportMemoryForDocumentIfFrameless): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::putCommon): (WebCore::addCrossOriginLocationPropertyNames): (WebCore::addCrossOriginLocationOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateImplementation): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::setJSInterfaceNameConstructor): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::setJSMapLikeConstructor): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::setJSReadOnlyMapLikeConstructor): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::setJSTestActiveDOMObjectConstructor): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::setJSTestCEReactionsConstructor): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::setJSTestCEReactionsStringifierConstructor): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::setJSTestCallTracerConstructor): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): * bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp: (WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor): (WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::setJSTestDOMJITConstructor): * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::setJSTestEnabledBySettingConstructor): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::setJSTestEventConstructorConstructor): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::setJSTestEventTargetConstructor): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::setJSTestExceptionConstructor): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::setJSTestGenerateIsReachableConstructor): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::setJSTestGlobalObjectConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::setJSTestInterfaceConstructor): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::setJSTestIterableConstructor): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::setJSTestJSBuiltinConstructorConstructor): * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::setJSTestMediaQueryListListenerConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::setJSTestNamedConstructorConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::setJSTestNamedGetterCallWithConstructor): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::setJSTestNamedGetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::setJSTestNamedGetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::setJSTestNamedSetterNoIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::setJSTestNamedSetterWithIdentifierConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::setJSTestNodeConstructor): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::setJSTestObjConstructor): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::setJSTestOverloadedConstructorsConstructor): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::setJSTestOverrideBuiltinsConstructor): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::setJSTestPluginInterfaceConstructor): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::setJSTestPromiseRejectionEventConstructor): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::setJSTestSerializationConstructor): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::setJSTestSerializationInheritConstructor): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::setJSTestSerializationInheritFinalConstructor): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::setJSTestStringifierConstructor): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::setJSTestStringifierAnonymousOperationConstructor): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::setJSTestStringifierNamedOperationConstructor): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::setJSTestStringifierOperationImplementedAsConstructor): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::setJSTestStringifierOperationNamedToStringConstructor): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::setJSTestStringifierReadWriteAttributeConstructor): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::setJSTestTypedefsConstructor): * bridge/NP_jsobject.cpp: (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_Enumerate): * bridge/c/c_instance.cpp: (JSC::Bindings::CRuntimeMethod::create): * bridge/objc/WebScriptObject.mm: (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): * bridge/objc/objc_instance.mm: (ObjCRuntimeMethod::create): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/runtime_array.cpp: (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::put): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::getOwnPropertySlot): * bridge/runtime_method.h: * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * testing/Internals.cpp: (WebCore::Internals::cloneArrayBuffer): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.h: (WebKit::JSNPMethod::create): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): Source/WebKitLegacy/mac: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::enumerate): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyRuntimeMethod::create): Canonical link: https://commits.webkit.org/193171@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@221822 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-09-09 16:21:45 +00:00
vm, result, jsNumber(29834));
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
}
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
if (validationEnabled()) {
// Validate to make sure every slot in the scope has one value.
Rename CONCURRENT_JIT/ConcurrentJIT to CONCURRENT_JS/ConcurrentJS https://bugs.webkit.org/show_bug.cgi?id=164791 Reviewed by Geoffrey Garen. Source/JavaScriptCore: Just renaming. * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/ArrayProfile.cpp: (JSC::ArrayProfile::computeUpdatedPrediction): (JSC::ArrayProfile::briefDescription): (JSC::ArrayProfile::briefDescriptionWithoutUpdating): * bytecode/ArrayProfile.h: (JSC::ArrayProfile::observedArrayModes): (JSC::ArrayProfile::mayInterceptIndexedAccesses): (JSC::ArrayProfile::mayStoreToHole): (JSC::ArrayProfile::outOfBounds): (JSC::ArrayProfile::usesOriginalArrayStructures): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFromLLInt): (JSC::CallLinkStatus::computeFor): (JSC::CallLinkStatus::computeExitSiteData): (JSC::CallLinkStatus::computeFromCallLinkInfo): (JSC::CallLinkStatus::computeDFGStatuses): * bytecode/CallLinkStatus.h: * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpValueProfiling): (JSC::CodeBlock::dumpArrayProfiling): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::getStubInfoMap): (JSC::CodeBlock::getCallLinkInfoMap): (JSC::CodeBlock::getByValInfoMap): (JSC::CodeBlock::addStubInfo): (JSC::CodeBlock::addByValInfo): (JSC::CodeBlock::addCallLinkInfo): (JSC::CodeBlock::resetJITData): (JSC::CodeBlock::shrinkToFit): (JSC::CodeBlock::getArrayProfile): (JSC::CodeBlock::addArrayProfile): (JSC::CodeBlock::getOrAddArrayProfile): (JSC::CodeBlock::updateAllPredictionsAndCountLiveness): (JSC::CodeBlock::updateAllArrayPredictions): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::livenessAnalysisSlow): * bytecode/CodeBlock.h: (JSC::CodeBlock::setJITCode): (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset): (JSC::CodeBlock::addFrequentExitSite): (JSC::CodeBlock::hasExitSite): (JSC::CodeBlock::livenessAnalysis): * bytecode/DFGExitProfile.cpp: (JSC::DFG::ExitProfile::add): (JSC::DFG::ExitProfile::hasExitSite): (JSC::DFG::QueryableExitProfile::initialize): * bytecode/DFGExitProfile.h: (JSC::DFG::ExitProfile::hasExitSite): * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::hasExitSite): (JSC::GetByIdStatus::computeFor): (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback): * bytecode/GetByIdStatus.h: * bytecode/LazyOperandValueProfile.cpp: (JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions): (JSC::CompressedLazyOperandValueProfileHolder::add): (JSC::LazyOperandValueProfileParser::initialize): (JSC::LazyOperandValueProfileParser::prediction): * bytecode/LazyOperandValueProfile.h: * bytecode/MethodOfGettingAValueProfile.cpp: (JSC::MethodOfGettingAValueProfile::emitReportValue): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::hasExitSite): (JSC::PutByIdStatus::computeFor): (JSC::PutByIdStatus::computeForStubInfo): * bytecode/PutByIdStatus.h: * bytecode/StructureStubClearingWatchpoint.cpp: (JSC::StructureStubClearingWatchpoint::fireInternal): * bytecode/ValueProfile.h: (JSC::ValueProfileBase::briefDescription): (JSC::ValueProfileBase::computeUpdatedPrediction): * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::fromObserved): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::withSpeculationFromProfile): (JSC::DFG::ArrayMode::withProfile): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::getArrayMode): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): * dfg/DFGDriver.cpp: (JSC::DFG::compileImpl): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::tryGetConstantClosureVar): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionInjectionPhase.cpp: (JSC::DFG::PredictionInjectionPhase::run): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/Heap.cpp: (JSC::Heap::addToRememberedSet): * jit/JIT.cpp: (JSC::JIT::compileWithoutLinking): * jit/JITInlines.h: (JSC::JIT::chooseArrayMode): * jit/JITOperations.cpp: (JSC::tryGetByValOptimize): * jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByValWithCachedId): * jit/JITWorklist.cpp: (JSC::JITWorklist::compileLater): (JSC::JITWorklist::compileNow): * jit/Repatch.cpp: (JSC::repatchGetByID): (JSC::repatchPutByID): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::setUpCall): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::BytecodeSequence): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/ConcurrentJITLock.h: Removed. * runtime/ConcurrentJSLock.h: Copied from Source/JavaScriptCore/runtime/ConcurrentJITLock.h. (JSC::ConcurrentJSLockerBase::ConcurrentJSLockerBase): (JSC::ConcurrentJSLockerBase::~ConcurrentJSLockerBase): (JSC::GCSafeConcurrentJSLocker::GCSafeConcurrentJSLocker): (JSC::GCSafeConcurrentJSLocker::~GCSafeConcurrentJSLocker): (JSC::ConcurrentJSLocker::ConcurrentJSLocker): (JSC::ConcurrentJITLockerBase::ConcurrentJITLockerBase): Deleted. (JSC::ConcurrentJITLockerBase::~ConcurrentJITLockerBase): Deleted. (JSC::ConcurrentJITLockerBase::unlockEarly): Deleted. (JSC::GCSafeConcurrentJITLocker::GCSafeConcurrentJITLocker): Deleted. (JSC::GCSafeConcurrentJITLocker::~GCSafeConcurrentJITLocker): Deleted. (JSC::ConcurrentJITLocker::ConcurrentJITLocker): Deleted. * runtime/InferredType.cpp: (JSC::InferredType::canWatch): (JSC::InferredType::addWatchpoint): (JSC::InferredType::willStoreValueSlow): (JSC::InferredType::makeTopSlow): (JSC::InferredType::set): (JSC::InferredType::removeStructure): * runtime/InferredType.h: * runtime/InferredTypeTable.cpp: (JSC::InferredTypeTable::visitChildren): (JSC::InferredTypeTable::get): (JSC::InferredTypeTable::willStoreValue): (JSC::InferredTypeTable::makeTop): * runtime/InferredTypeTable.h: * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::heapSnapshot): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): * runtime/JSObject.cpp: (JSC::JSObject::deleteProperty): (JSC::JSObject::shiftButterflyAfterFlattening): * runtime/JSObject.h: * runtime/JSObjectInlines.h: (JSC::JSObject::putDirectWithoutTransition): (JSC::JSObject::putDirectInternal): * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::JSScope::collectClosureVariablesUnderTDZ): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::heapSnapshot): * runtime/JSSegmentedVariableObject.h: * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTableGet): (JSC::symbolTablePut): * runtime/Options.cpp: (JSC::recomputeDependentOptions): * runtime/Options.h: * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/RegExp.cpp: (JSC::RegExp::compile): (JSC::RegExp::matchConcurrently): (JSC::RegExp::compileMatchOnly): (JSC::RegExp::deleteCode): * runtime/RegExp.h: * runtime/Structure.cpp: (JSC::Structure::materializePropertyTable): (JSC::Structure::addPropertyTransitionToExistingStructureConcurrently): (JSC::Structure::addNewPropertyTransition): (JSC::Structure::takePropertyTableOrCloneIfPinned): (JSC::Structure::nonPropertyTransition): (JSC::Structure::flattenDictionaryStructure): (JSC::Structure::ensurePropertyReplacementWatchpointSet): (JSC::Structure::add): (JSC::Structure::remove): (JSC::Structure::visitChildren): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::propertyReplacementWatchpointSet): (JSC::Structure::add): (JSC::Structure::remove): * runtime/SymbolTable.cpp: (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForVariable): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::globalTypeSetForVariable): * runtime/SymbolTable.h: * runtime/TypeSet.cpp: (JSC::TypeSet::addTypeInformation): (JSC::TypeSet::invalidateCache): * runtime/TypeSet.h: (JSC::TypeSet::structureSet): * runtime/VM.h: * runtime/WriteBarrierInlines.h: (JSC::WriteBarrierBase<T>::set): (JSC::WriteBarrierBase<Unknown>::set): * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::byteCompile): * yarr/YarrInterpreter.h: (JSC::Yarr::BytecodePattern::BytecodePattern): Source/WTF: Both the concurrent GC and the concurrent JIT rely on concurrency support in fundamental JSC runtime components like JSValue. So, the thing that guards it should be a "feature" called CONCURRENT_JS not CONCURRENT_JIT. * wtf/Platform.h: Canonical link: https://commits.webkit.org/182475@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-15 23:21:50 +00:00
ConcurrentJSLocker locker(table->m_lock);
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
for (auto iter = table->begin(locker), end = table->end(locker); iter != end; ++iter) {
bool found = false;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ClosureVarPLoc)
continue;
if (ScopeOffset(property.location().info()) == iter->value.scopeOffset()) {
found = true;
break;
}
}
Introduce UniquedStringImpl and SymbolImpl to separate symbolic strings from AtomicStringImpl https://bugs.webkit.org/show_bug.cgi?id=144848 Reviewed by Darin Adler. Source/JavaScriptCore: Use UniquedStringImpl, SymbolImpl and AtomicStringImpl. * API/JSCallbackObject.h: * builtins/BuiltinNames.h: (JSC::BuiltinNames::isPrivateName): * bytecode/BytecodeIntrinsicRegistry.h: * bytecode/CodeBlock.cpp: (JSC::CodeBlock::CodeBlock): * bytecode/ComplexGetStatus.cpp: (JSC::ComplexGetStatus::computeFor): * bytecode/ComplexGetStatus.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFromLLInt): (JSC::GetByIdStatus::computeFor): (JSC::GetByIdStatus::computeForStubInfo): * bytecode/GetByIdStatus.h: * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): (JSC::PutByIdStatus::computeFor): (JSC::PutByIdStatus::computeForStubInfo): * bytecode/PutByIdStatus.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::hasConstant): (JSC::BytecodeGenerator::addConstant): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::PropertyListNode::emitBytecode): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): * dfg/DFGDesiredIdentifiers.cpp: (JSC::DFG::DesiredIdentifiers::addLazily): (JSC::DFG::DesiredIdentifiers::at): (JSC::DFG::DesiredIdentifiers::reallyAdd): * dfg/DFGDesiredIdentifiers.h: (JSC::DFG::DesiredIdentifiers::operator[]): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::isStringPrototypeMethodSane): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileIn): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::identifierUID): (JSC::DFG::SpeculativeJIT::callOperation): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::InlineCacheDescriptor::uid): (JSC::FTL::GetByIdDescriptor::GetByIdDescriptor): (JSC::FTL::PutByIdDescriptor::PutByIdDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): * ftl/FTLIntrinsicRepository.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compilePutById): (JSC::FTL::LowerDFGToLLVM::compileIn): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::LowerDFGToLLVM::getById): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLSlowPathCall.cpp: (JSC::FTL::callOperation): * ftl/FTLSlowPathCall.h: * jit/JIT.h: * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOperations.cpp: * jit/JITOperations.h: * parser/Nodes.cpp: (JSC::ProgramNode::setClosedVariables): * parser/Nodes.h: (JSC::ScopeNode::captures): (JSC::ScopeNode::setClosedVariables): (JSC::ProgramNode::closedVariables): * parser/Parser.cpp: (JSC::Parser<LexerType>::parseInner): (JSC::Parser<LexerType>::didFinishParsing): (JSC::Parser<LexerType>::parseContinueStatement): * parser/Parser.h: (JSC::Scope::Scope): (JSC::Scope::pushLabel): (JSC::Scope::getLabel): (JSC::Scope::declareCallee): (JSC::Scope::declareVariable): (JSC::Scope::declareParameter): (JSC::Scope::declareBoundParameter): (JSC::Scope::useVariable): (JSC::Scope::copyCapturedVariablesToVector): (JSC::Parser::closedVariables): (JSC::ScopeLabelInfo::ScopeLabelInfo): Deleted. * parser/SourceProviderCacheItem.h: (JSC::SourceProviderCacheItem::usedVariables): (JSC::SourceProviderCacheItem::writtenVariables): (JSC::SourceProviderCacheItem::create): * runtime/CommonIdentifiers.cpp: (JSC::CommonIdentifiers::isPrivateName): * runtime/CommonIdentifiers.h: * runtime/Identifier.h: (JSC::Identifier::impl): (JSC::Identifier::Identifier): (JSC::parseIndex): (JSC::IdentifierRepHash::hash): * runtime/IdentifierInlines.h: (JSC::Identifier::fromUid): * runtime/IntendedStructureChain.cpp: (JSC::IntendedStructureChain::mayInterceptStoreTo): * runtime/IntendedStructureChain.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/Lookup.h: (JSC::HashTable::entry): * runtime/MapData.h: * runtime/ObjectConstructor.cpp: (JSC::objectConstructorGetOwnPropertySymbols): * runtime/PrivateName.h: (JSC::PrivateName::PrivateName): (JSC::PrivateName::uid): * runtime/PropertyMapHashTable.h: * runtime/PropertyName.h: (JSC::PropertyName::PropertyName): (JSC::PropertyName::uid): (JSC::PropertyName::publicName): (JSC::parseIndex): * runtime/PropertyNameArray.h: (JSC::PropertyNameArray::addKnownUnique): (JSC::PropertyNameArray::add): * runtime/Structure.cpp: (JSC::StructureTransitionTable::contains): (JSC::StructureTransitionTable::get): (JSC::StructureTransitionTable::add): (JSC::Structure::addPropertyTransitionToExistingStructureImpl): (JSC::Structure::addPropertyTransitionToExistingStructureConcurrently): (JSC::Structure::getConcurrently): (JSC::Structure::add): (JSC::Structure::remove): (JSC::Structure::toStructureShape): * runtime/Structure.h: (JSC::PropertyMapEntry::PropertyMapEntry): * runtime/StructureInlines.h: (JSC::Structure::getConcurrently): * runtime/StructureTransitionTable.h: (JSC::StructureTransitionTable::Hash::hash): * runtime/Symbol.cpp: (JSC::Symbol::Symbol): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolTable.cpp: (JSC::SymbolTable::uniqueIDForVariable): (JSC::SymbolTable::globalTypeSetForVariable): * runtime/SymbolTable.h: * runtime/TypeSet.cpp: (JSC::StructureShape::addProperty): (JSC::StructureShape::propertyHash): * runtime/TypeSet.h: Source/WebCore: Use UniquedStringImpl, SymbolImpl and AtomicStringImpl. * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::write): Source/WTF: he current AtomicStringImpl accidentally means the symbol OR atomic StringImpl. t's not correct to its name and it's error prone. In this patch, we'll introduce/changes classes into WTF. 1. UniquedStringImpl It's derived class from StringImpl. And it represents symbol || atomic StringImpl. 2. SymbolImpl It's derived class from UniquedStringImpl. Only symbol strings can become this. It ensures the given StringImpl is symbol in compile time. 3. AtomicStringImpl It's derived class from UniquedStringImpl. Only atomic (non-normal && non-symbol) strings can become this. It ensures the given StringImpl is atomic in compile time. And, in this time, I just accept UniqueStringImpl in AtomicString. As the result, 1. Now AtomicStringImpl issue is fixed. Its SymbolImpl is separated and UniquedStringImpl is introduced. 2. But AtomicString still have both symbol and atomic strings. This should be solved in the separated patch. * WTF.vcxproj/WTF.vcxproj: * WTF.vcxproj/WTF.vcxproj.filters: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/PrintStream.cpp: * wtf/PrintStream.h: (WTF::printInternal): * wtf/text/AtomicString.h: (WTF::AtomicString::AtomicString): * wtf/text/AtomicStringImpl.h: * wtf/text/StringImpl.cpp: (WTF::StringImpl::~StringImpl): (WTF::StringImpl::createSymbol): (WTF::StringImpl::createSymbolEmpty): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: Copied from Source/JavaScriptCore/runtime/PrivateName.h. * wtf/text/SymbolRegistry.cpp: (WTF::SymbolRegistry::symbolForKey): (WTF::SymbolRegistry::keyForSymbol): (WTF::SymbolRegistry::remove): * wtf/text/SymbolRegistry.h: * wtf/text/UniquedStringImpl.h: Copied from Source/JavaScriptCore/runtime/PrivateName.h. Tools: Use UniquedStringImpl, SymbolImpl and AtomicStringImpl. * TestWebKitAPI/Tests/WTF/StringImpl.cpp: Canonical link: https://commits.webkit.org/163353@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184828 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-23 18:41:53 +00:00
ASSERT_UNUSED(found, found);
Object allocation sinking phase should explicitly create bottom values for CreateActivation sink candidates and CreateActivation should have SymbolTable as a child node https://bugs.webkit.org/show_bug.cgi?id=145192 Reviewed by Filip Pizlo. When we sink CreateActivation and generate MaterializeCreateActivation in the object allocation sinking phase, we now explictly add PutHints for all variables on the activation setting those variables to their default value (undefined for Function activations and soon to be JS Empty Value for block scope activations). This allows us to remove code that fills FTL fast activation allocations with Undefined. This patch also adds the constant SymbolTable as an OpInfo of CreateActivation and MaterializeCreateActivation nodes. This is in preparation for ES6 block scoping which will introduce a new op code that gets lowered to CreateActivation. * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGNode.h: (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::cellOperand): * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateActivation): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-default-value.js: Added. (bar): * tests/stress/activation-sink-osrexit-default-value.js: Added. (foo.set result): Canonical link: https://commits.webkit.org/163297@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-22 02:39:25 +00:00
}
unsigned numberOfClosureVarPloc = 0;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() == ClosureVarPLoc)
numberOfClosureVarPloc++;
}
ASSERT(numberOfClosureVarPloc == table->scopeSize());
}
Allow CreateActivation sinking https://bugs.webkit.org/show_bug.cgi?id=144300 Reviewed by Filip Pizlo. Source/JavaScriptCore: This pursues the work started in https://bugs.webkit.org/show_bug.cgi?id=144016 to expand the set of allocations we are able to sink by allowing sinking of CreateActivation node. This is achieved by following closely the way NewObject is currently sunk: we add a new PhantomCreateActivation node to record the initial position of the CreateActivation node, new ClosureVarPLoc promoted heap locations to keep track of the variables put in the activation, and a new MaterializeCreateActivation node to allocate and populate the sunk activation. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToPutClosureVarHint): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::isActivationAllocation): (JSC::DFG::Node::isPhantomActivationAllocation): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileMaterializeCreateActivation): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * tests/stress/activation-sink-osrexit.js: Added. (bar): (foo.set result): * tests/stress/activation-sink.js: Added. (bar): LayoutTests: Add a performance test for activation allocation sinking. * js/regress/script-tests/sink-huge-activation.js: Added. (bar): (foo): Canonical link: https://commits.webkit.org/162647@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@183812 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-05 16:34:21 +00:00
return result;
}
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
case PhantomNewInternalFieldObject: {
[JSC] Introduce JSArrayIterator https://bugs.webkit.org/show_bug.cgi?id=204043 Reviewed by Yusuke Suzuki. JSTests: * stress/array-iterator-materialize-at-osr-exit.js: Added. (shouldBe): (test): * stress/array-iterator-materialize-one-path.js: Added. (shouldBe): (test): * stress/array-iterator-materialize.js: Added. (shouldBe): (test): * stress/array-iterator-sinking.js: Added. (shouldBe): (test): * stress/array-iterators-next-error-messages.js: (catch): * stress/array-iterators-next-with-call.js: * stress/for-of-iteration.js: Added. (shouldBe): (test1): (test2): (test3): * stress/typedarray-functions-with-neutered.js: (checkProtoFunc): Source/JavaScriptCore: This patch introduces JSArrayIterator that changes the iterator object from a JSFinalObject to an InternalFieldsObject. This makes accessing it much easier from C++ code and makes the iterator object smaller. It also means that the JS code for the next function is much simpler and can *almost* be inlined without shenanigans. As part of this patch the keys/values/entries functions have been converted to C++ with intrinsics since that's slightly more efficient in the LLInt/Baseline. Lastly, this patch also add a custom ISOSubspace for JSArrayIterator objects. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/ArrayIteratorPrototype.js: (next): (globalPrivate.arrayIteratorNextHelper): (globalPrivate.arrayIteratorValueNext): Deleted. (globalPrivate.arrayIteratorKeyNext): Deleted. (globalPrivate.arrayIteratorKeyValueNext): Deleted. * builtins/ArrayPrototype.js: (globalPrivate.ArrayIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/TypedArrayPrototype.js: (values): Deleted. (keys): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsArrayIterator): * bytecompiler/NodesCodegen.cpp: (JSC::arrayIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_isGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isPromise): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isUndefinedOrNull): Deleted. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::convertToPhantomNewArrayIterator): (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCheckNeutered): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileCheckArray): (JSC::FTL::DFG::LowerDFGToB3::compileCheckNeutered): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneArrayIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::createArrayIteratorObject): (JSC::arrayProtoFuncValues): (JSC::arrayProtoFuncEntries): (JSC::arrayProtoFuncKeys): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/IterationKind.h: (): Deleted. * runtime/JSArrayIterator.cpp: Added. (JSC::JSArrayIterator::create): (JSC::JSArrayIterator::createWithInitialValues): (JSC::JSArrayIterator::createStructure): (JSC::JSArrayIterator::JSArrayIterator): (JSC::JSArrayIterator::finishCreation): (JSC::JSArrayIterator::visitChildren): * runtime/JSArrayIterator.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::arrayIteratorPrototype const): (JSC::JSGlobalObject::arrayIteratorStructure const): * runtime/JSMapIterator.h: * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::createTypedArrayIteratorObject): (JSC::typedArrayViewProtoFuncValues): (JSC::typedArrayProtoViewFuncEntries): (JSC::typedArrayViewProtoFuncKeys): (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/VM.cpp: * runtime/VM.h: Source/WebCore: JSDOMIterator should just use the JSC IterationKind enum. Also, update other files for the enum member name changes. * bindings/js/JSDOMIterator.h: (WebCore::IteratorTraits>::asJS): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateIterableDefinition): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::jsTestInterfacePrototypeFunctionEntriesCaller): (WebCore::jsTestInterfacePrototypeFunctionKeysCaller): (WebCore::jsTestInterfacePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionValuesCaller): LayoutTests: Change the labels of iteration kinds to match what JS refers to them as. * inspector/model/remote-object/iterator-expected.txt: * inspector/model/remote-object/iterator-large-expected.txt: * inspector/model/remote-object/iterators-mutated-expected.txt: Canonical link: https://commits.webkit.org/219108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-09 06:07:29 +00:00
// Figure out what structure.
Structure* structure = nullptr;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location() == PromotedLocationDescriptor(StructurePLoc)) {
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<Structure>(vm));
structure = jsCast<Structure*>(JSValue::decode(values[i]));
}
}
RELEASE_ASSERT(structure);
// The real values will be put subsequently by
// operationPopulateNewObjectInOSR. See the PhantomNewObject
// case for details.
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
switch (structure->typeInfo().type()) {
case JSArrayIteratorType: {
JSArrayIterator* result = JSArrayIterator::createWithInitialValues(vm, structure);
RELEASE_ASSERT(materialization->properties().size() - 1 == JSArrayIterator::numberOfInternalFields);
return result;
}
case JSMapIteratorType: {
JSMapIterator* result = JSMapIterator::createWithInitialValues(vm, structure);
RELEASE_ASSERT(materialization->properties().size() - 1 == JSMapIterator::numberOfInternalFields);
return result;
}
case JSSetIteratorType: {
JSSetIterator* result = JSSetIterator::createWithInitialValues(vm, structure);
RELEASE_ASSERT(materialization->properties().size() - 1 == JSSetIterator::numberOfInternalFields);
return result;
}
[JSC] Replace DFG NewPromise with NewInternalFieldObject https://bugs.webkit.org/show_bug.cgi?id=210687 Reviewed by Saam Barati. The feature of DFG::NewPromise can be implemented completely with DFG::NewInternalFieldObject. This reduces code duplication, and furthermore, this offers Object Allocation Sinking support for free. This patch replaces DFG::NewPromise with DFG::NewInternalFieldObject and remove DFG::NewPromise completely. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::convertToNewInternalFieldObject): (JSC::DFG::Node::convertToNewInternalFieldObjectWithInlineFields): (JSC::DFG::Node::hasIsInternalPromise): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::convertToNewPromise): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::createWithInitialValues): * runtime/JSInternalPromise.h: * runtime/JSPromise.cpp: (JSC::JSPromise::createWithInitialValues): (JSC::JSPromise::finishCreation): (JSC::JSPromise::status const): (JSC::JSPromise::result const): (JSC::JSPromise::flags const): (JSC::JSPromise::resolve): (JSC::JSPromise::reject): (JSC::JSPromise::rejectAsHandled): * runtime/JSPromise.h: (JSC::JSPromise::initialValues): (JSC::JSPromise::internalField const): (JSC::JSPromise::internalField): Canonical link: https://commits.webkit.org/223582@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-18 21:13:58 +00:00
case JSPromiseType: {
if (structure->classInfo() == JSInternalPromise::info()) {
JSInternalPromise* result = JSInternalPromise::createWithInitialValues(vm, structure);
RELEASE_ASSERT(materialization->properties().size() - 1 == JSInternalPromise::numberOfInternalFields);
return result;
}
ASSERT(structure->classInfo() == JSPromise::info());
JSPromise* result = JSPromise::createWithInitialValues(vm, structure);
RELEASE_ASSERT(materialization->properties().size() - 1 == JSPromise::numberOfInternalFields);
return result;
}
[JSC] Implement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl https://bugs.webkit.org/show_bug.cgi?id=210023 Reviewed by Keith Miller. JSTests: * stress/map-iteration-oas.js: Added. (shouldBe): (test): * stress/map-iterator-creation-fail-dfg.js: Added. (shouldThrow): (test2): (test3): * stress/map-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): * stress/set-iteration-oas.js: Added. (shouldBe): * stress/set-iterator-creation-fail-dfg.js: Added. (shouldThrow): (set shouldThrow): * stress/set-iterator-creation-fail.js: Added. (shouldThrow): (i.shouldThrow): (test2): (test3): Source/JavaScriptCore: This patch reimplement JSMapIterator/JSSetIterator with JSInternalFieldObjectImpl. This makes current JSFinalObject-based Map/SetIterator simple and small. We generalize NewArrayIterator/PhantomNewArrayIterator to convert them to NewInternalFieldObject/PhantomNewInternalFieldObject to support JSMapIterator/JSSetIterator too in DFG / FTL. This makes allocation efficient and object-allocation-sinking aware. * builtins/BuiltinNames.h: * builtins/MapIteratorPrototype.js: (globalPrivate.mapIteratorNext): (next): * builtins/MapPrototype.js: (globalPrivate.MapIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/SetIteratorPrototype.js: (globalPrivate.setIteratorNext): (next): * builtins/SetPrototype.js: (globalPrivate.SetIterator): Deleted. (values): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsMapIterator): (JSC::BytecodeGenerator::emitIsSetIterator): * bytecompiler/NodesCodegen.cpp: (JSC::mapIteratorInternalFieldIndex): (JSC::setIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getSetIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putMapIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putSetIteratorInternalField): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewInternalFieldObject): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::convertToPhantomNewArrayIterator): Deleted. * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObjectImpl): (JSC::DFG::SpeculativeJIT::compileNewGenerator): (JSC::DFG::SpeculativeJIT::compileNewAsyncGenerator): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): Deleted. * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileNewGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewAsyncGenerator): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/JSArrayIterator.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::mapIteratorPrototype const): (JSC::JSGlobalObject::setIteratorPrototype const): (JSC::JSGlobalObject::mapIteratorStructure const): (JSC::JSGlobalObject::setIteratorStructure const): * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createWithInitialValues): (JSC::JSMapIterator::finishCreation): (JSC::JSMapIterator::visitChildren): * runtime/JSMapIterator.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createWithInitialValues): (JSC::JSSetIterator::finishCreation): (JSC::JSSetIterator::visitChildren): * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/MapPrototype.cpp: (JSC::MapPrototype::finishCreation): (JSC::createMapIteratorObject): (JSC::mapProtoFuncValues): (JSC::mapProtoFuncKeys): (JSC::mapProtoFuncEntries): * runtime/SetPrototype.cpp: (JSC::SetPrototype::finishCreation): (JSC::createSetIteratorObject): (JSC::setProtoFuncValues): (JSC::setProtoFuncEntries): * runtime/VM.cpp: (JSC::VM::setIteratorStructureSlow): Deleted. (JSC::VM::mapIteratorStructureSlow): Deleted. * runtime/VM.h: (JSC::VM::setIteratorStructure): Deleted. (JSC::VM::mapIteratorStructure): Deleted. Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): Canonical link: https://commits.webkit.org/223467@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260181 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-16 13:07:48 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
[JSC] Introduce JSArrayIterator https://bugs.webkit.org/show_bug.cgi?id=204043 Reviewed by Yusuke Suzuki. JSTests: * stress/array-iterator-materialize-at-osr-exit.js: Added. (shouldBe): (test): * stress/array-iterator-materialize-one-path.js: Added. (shouldBe): (test): * stress/array-iterator-materialize.js: Added. (shouldBe): (test): * stress/array-iterator-sinking.js: Added. (shouldBe): (test): * stress/array-iterators-next-error-messages.js: (catch): * stress/array-iterators-next-with-call.js: * stress/for-of-iteration.js: Added. (shouldBe): (test1): (test2): (test3): * stress/typedarray-functions-with-neutered.js: (checkProtoFunc): Source/JavaScriptCore: This patch introduces JSArrayIterator that changes the iterator object from a JSFinalObject to an InternalFieldsObject. This makes accessing it much easier from C++ code and makes the iterator object smaller. It also means that the JS code for the next function is much simpler and can *almost* be inlined without shenanigans. As part of this patch the keys/values/entries functions have been converted to C++ with intrinsics since that's slightly more efficient in the LLInt/Baseline. Lastly, this patch also add a custom ISOSubspace for JSArrayIterator objects. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * builtins/ArrayIteratorPrototype.js: (next): (globalPrivate.arrayIteratorNextHelper): (globalPrivate.arrayIteratorValueNext): Deleted. (globalPrivate.arrayIteratorKeyNext): Deleted. (globalPrivate.arrayIteratorKeyValueNext): Deleted. * builtins/ArrayPrototype.js: (globalPrivate.ArrayIterator): Deleted. (values): Deleted. (keys): Deleted. (entries): Deleted. * builtins/TypedArrayPrototype.js: (values): Deleted. (keys): Deleted. (entries): Deleted. * bytecode/BytecodeIntrinsicRegistry.cpp: (JSC::BytecodeIntrinsicRegistry::BytecodeIntrinsicRegistry): * bytecode/BytecodeIntrinsicRegistry.h: * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitIsArrayIterator): * bytecompiler/NodesCodegen.cpp: (JSC::arrayIteratorInternalFieldIndex): (JSC::BytecodeIntrinsicNode::emit_intrinsic_getArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_putArrayIteratorInternalField): (JSC::BytecodeIntrinsicNode::emit_intrinsic_isGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isAsyncGenerator): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isJSArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isPromise): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isProxyObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isRegExpObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isObject): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isDerivedArray): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isMap): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isSet): Deleted. (JSC::BytecodeIntrinsicNode::emit_intrinsic_isUndefinedOrNull): Deleted. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGMayExit.cpp: * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::convertToPhantomNewArrayIterator): (JSC::DFG::Node::convertToPhantomCreateActivation): (JSC::DFG::Node::hasStructure): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCheckNeutered): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewArrayIterator): * dfg/DFGSpeculativeJIT.h: * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStoreBarrierInsertionPhase.cpp: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks): (JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileCheckArray): (JSC::FTL::DFG::LowerDFGToB3::compileCheckNeutered): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayIterator): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObjectImpl): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewInternalFieldObject): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::cloneArrayIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::createArrayIteratorObject): (JSC::arrayProtoFuncValues): (JSC::arrayProtoFuncEntries): (JSC::arrayProtoFuncKeys): * runtime/CommonIdentifiers.h: * runtime/Intrinsic.cpp: (JSC::intrinsicName): * runtime/Intrinsic.h: * runtime/IterationKind.h: (): Deleted. * runtime/JSArrayIterator.cpp: Added. (JSC::JSArrayIterator::create): (JSC::JSArrayIterator::createWithInitialValues): (JSC::JSArrayIterator::createStructure): (JSC::JSArrayIterator::JSArrayIterator): (JSC::JSArrayIterator::finishCreation): (JSC::JSArrayIterator::visitChildren): * runtime/JSArrayIterator.h: Added. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::arrayIteratorPrototype const): (JSC::JSGlobalObject::arrayIteratorStructure const): * runtime/JSMapIterator.h: * runtime/JSSetIterator.h: * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/JSTypedArrayViewPrototype.cpp: (JSC::createTypedArrayIteratorObject): (JSC::typedArrayViewProtoFuncValues): (JSC::typedArrayProtoViewFuncEntries): (JSC::typedArrayViewProtoFuncKeys): (JSC::JSTypedArrayViewPrototype::finishCreation): * runtime/VM.cpp: * runtime/VM.h: Source/WebCore: JSDOMIterator should just use the JSC IterationKind enum. Also, update other files for the enum member name changes. * bindings/js/JSDOMIterator.h: (WebCore::IteratorTraits>::asJS): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::serialize): * bindings/scripts/CodeGeneratorJS.pm: (GenerateIterableDefinition): * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::jsTestInterfacePrototypeFunctionEntriesCaller): (WebCore::jsTestInterfacePrototypeFunctionKeysCaller): (WebCore::jsTestInterfacePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionValuesCaller): LayoutTests: Change the labels of iteration kinds to match what JS refers to them as. * inspector/model/remote-object/iterator-expected.txt: * inspector/model/remote-object/iterator-large-expected.txt: * inspector/model/remote-object/iterators-mutated-expected.txt: Canonical link: https://commits.webkit.org/219108@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-09 06:07:29 +00:00
}
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
case PhantomCreateRest:
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
case PhantomDirectArguments:
case PhantomClonedArguments: {
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
if (!materialization->origin().inlineCallFrame()) {
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
switch (materialization->type()) {
case PhantomDirectArguments:
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
return DirectArguments::createByCopying(globalObject, callFrame);
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
case PhantomClonedArguments:
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
return ClonedArguments::createWithMachineFrame(globalObject, callFrame, ArgumentsMode::Cloned);
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
case PhantomCreateRest: {
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
materialization->origin(), callFrame->codeBlock()->baselineAlternative());
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
unsigned numberOfArgumentsToSkip = codeBlock->numberOfArgumentsToSkip();
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
JSGlobalObject* globalObject = codeBlock->globalObject();
Structure* structure = globalObject->restParameterStructure();
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
JSValue* argumentsToCopyRegion = callFrame->addressOfArgumentsStart() + numberOfArgumentsToSkip;
unsigned arraySize = callFrame->argumentCount() > numberOfArgumentsToSkip ? callFrame->argumentCount() - numberOfArgumentsToSkip : 0;
return constructArray(globalObject, structure, argumentsToCopyRegion, arraySize);
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
}
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
}
// First figure out the argument count. If there isn't one then we represent the machine frame.
unsigned argumentCount = 0;
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
if (materialization->origin().inlineCallFrame()->isVarargs()) {
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location() != PromotedLocationDescriptor(ArgumentCountPLoc))
continue;
argumentCount = JSValue::decode(values[i]).asUInt32();
break;
}
} else
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
argumentCount = materialization->origin().inlineCallFrame()->argumentCountIncludingThis;
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
RELEASE_ASSERT(argumentCount);
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
JSFunction* callee = nullptr;
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
if (materialization->origin().inlineCallFrame()->isClosureCall) {
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location() != PromotedLocationDescriptor(ArgumentsCalleePLoc))
continue;
callee = jsCast<JSFunction*>(JSValue::decode(values[i]));
break;
}
} else
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
callee = materialization->origin().inlineCallFrame()->calleeConstant();
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
RELEASE_ASSERT(callee);
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
materialization->origin(), callFrame->codeBlock()->baselineAlternative());
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
// We have an inline frame and we have all of the data we need to recreate it.
switch (materialization->type()) {
case PhantomDirectArguments: {
unsigned length = argumentCount - 1;
unsigned capacity = std::max(length, static_cast<unsigned>(codeBlock->numParameters() - 1));
DirectArguments* result = DirectArguments::create(
vm, codeBlock->globalObject()->directArgumentsStructure(), length, capacity);
result->setCallee(vm, callee);
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ArgumentPLoc)
continue;
unsigned index = property.location().info();
if (index >= capacity)
continue;
Insert store barriers late so that IR transformations don't have to worry about them https://bugs.webkit.org/show_bug.cgi?id=145015 Reviewed by Geoffrey Garen. We have had three kinds of bugs with store barriers. For the sake of discussion we say that a store barrier is needed when we have something like: base.field = value - We sometimes fail to realize that we could remove a barrier when value is a non-cell. This might happen if we prove value to be a non-cell even though in the FixupPhase it wasn't predicted non-cell. - We sometimes have a barrier in the wrong place after object allocation sinking. We might sink an allocation to just above the store, but that puts it just after the StoreBarrier that FixupPhase inserted. - We don't remove redundant barriers across basic blocks. This comprehensively fixes these issues by doing store barrier insertion late, and removing the store barrier elision phase. Store barrier insertion uses an epoch-based algorithm to determine when stores need barriers. Briefly, a barrier is not needed if base is in the current GC epoch (i.e. was the last object that we allocated or had a barrier since last GC) or if base has a newer GC epoch than value (i.e. value would have always been allocated before base). We do conservative things when merging epoch state between basic blocks, and we only do such inter-block removal in the FTL. FTL also queries AI to determine what type we've proved about value, and avoids barriers when value is not a cell. FixupPhase still inserts type checks on some stores, to maximize the likelihood that this AI-based removal is effective. Rolling back in after fixing some debug build test failures. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGBlockMap.h: (JSC::DFG::BlockMap::at): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::emitPutByOffset): * dfg/DFGEpoch.h: (JSC::DFG::Epoch::operator<): (JSC::DFG::Epoch::operator>): (JSC::DFG::Epoch::operator<=): (JSC::DFG::Epoch::operator>=): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::speculateForBarrier): (JSC::DFG::FixupPhase::insertStoreBarrier): Deleted. * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGStoreBarrierElisionPhase.cpp: Removed. * dfg/DFGStoreBarrierElisionPhase.h: Removed. * dfg/DFGStoreBarrierInsertionPhase.cpp: Added. (JSC::DFG::performFastStoreBarrierInsertion): (JSC::DFG::performGlobalStoreBarrierInsertion): * dfg/DFGStoreBarrierInsertionPhase.h: Added. * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): Fix an unrelated debug-only bug. * tests/stress/load-varargs-then-inlined-call-and-exit.js: Test for that debug-only bug. * tests/stress/load-varargs-then-inlined-call-and-exit-strict.js: Strict version of that test. Canonical link: https://commits.webkit.org/163133@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184445 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-05-18 03:39:28 +00:00
// We don't want to use setIndexQuickly(), since that's only for the passed-in
// arguments but sometimes the number of named arguments is greater. For
// example:
//
// function foo(a, b, c) { ... }
// foo();
//
// setIndexQuickly() would fail for indices 0, 1, 2 - but we need to recover
// those here.
result->argument(DirectArgumentsOffset(index)).set(
vm, result, JSValue::decode(values[i]));
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
}
return result;
}
case PhantomClonedArguments: {
unsigned length = argumentCount - 1;
ClonedArguments* result = ClonedArguments::createEmpty(
We should be able to eliminate cloned arguments objects that use the length property https://bugs.webkit.org/show_bug.cgi?id=155391 Reviewed by Geoffrey Garen. Previously if a programmer tried to use arguments.length in a strict function we would not eliminate the arguments object. We were unable to eliminate the arguments object because the user would get a cloned arguments object, which does not special case the length property. Thus, in order to get arguments elimination for cloned we need to add a special case. There are two things that need to happen for the elimination to succeed. First, we need to eliminate the CheckStructure blocking the GetByOffset for the length property. In order to eliminate the check structure we need to prove to the Abstract Interpreter that this structure check is unnesssary. This didn't occur before for two reasons: 1) CreateClonedArguments did not set the structure it produced. 2) Even if CreateClonedArguments provided the global object's cloned arguments structure we would transition the new argements object when we added the length property during construction. To fix the second problem we now pre-assign a slot on clonedArgumentsStructure for the length property. Additionally, in order to prevent future transitions of the structure we need to choose an indexing type for the structure. Since, not eliminating the arguments object is so expensive we choose to have all cloned arguments start with continuous indexing type, this avoids transitioning when otherwise we would not have to. In the future we should be smarter about choosing the indexing type but since its relatively rare to have a arguments object escape we don't worry about this for now. Additionally, this patch renames all former references of outOfBandArguments to clonedArguments and adds extra instrumentation to DFGArgumentsEliminationPhase. * bytecode/BytecodeList.json: * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::clonedArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): Deleted. * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGOperations.cpp: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JIT.h: * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_cloned_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): Deleted. * llint/LowLevelInterpreter.asm: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): * runtime/ClonedArguments.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::clonedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): Deleted. Canonical link: https://commits.webkit.org/173570@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@198154 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-03-14 20:55:15 +00:00
vm, codeBlock->globalObject()->clonedArgumentsStructure(), callee, length);
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ArgumentPLoc)
continue;
unsigned index = property.location().info();
if (index >= length)
continue;
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
result->putDirectIndex(globalObject, index, JSValue::decode(values[i]));
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
}
return result;
}
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
case PhantomCreateRest: {
unsigned numberOfArgumentsToSkip = codeBlock->numberOfArgumentsToSkip();
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
JSGlobalObject* globalObject = codeBlock->globalObject();
Structure* structure = globalObject->restParameterStructure();
ASSERT(argumentCount > 0);
unsigned arraySize = (argumentCount - 1) > numberOfArgumentsToSkip ? argumentCount - 1 - numberOfArgumentsToSkip : 0;
Audit and fix incorrect uses of JSArray::tryCreateForInitializationPrivate(). https://bugs.webkit.org/show_bug.cgi?id=171344 <rdar://problem/31352667> Reviewed by Filip Pizlo. JSArray::tryCreateForInitializationPrivate() should only be used in performance critical paths, and should always be used with care because it creates an uninitialized object that needs to be initialized by its client before the object can be released into the system. Before the object is fully initialized: a. the client should not re-enter the VM to execute JS code, and b. GC should not run. This is because until the object is fully initialized, it is an inconsistent state that the GC and JS code will not be happy about. In this patch, we do the following: 1. Renamed JSArray::tryCreateForInitializationPrivate() to JSArray::tryCreateUninitializedRestricted() because "private" is a bit ambiguous and can be confused with APIs that are called freely within WebKit but are not meant for clients of WebKit. In this case, we intend for use of this API to be restricted to only a few carefully considered and crafted cases. 2. Introduce the ObjectInitializationScope RAII object which covers the period when the uninitialized object is created and gets initialized. ObjectInitializationScope will asserts that either the object is created fully initialized (in the case where the object structure is not an "original" structure) or if created uninitialized, is fully initialized at the end of the scope. If the object is created uninitialized, the ObjectInitializationScope also ensures that we do not GC nor re-enter the VM to execute JS code. This is achieved by enabling DisallowGC and DisallowVMReentry scopes. tryCreateUninitializedRestricted() and initializeIndex() now requires an ObjectInitializationScope instance. The ObjectInitializationScope replaces the VM& argument because it can be used to pass the VM& itself. This is a small optimization that makes passing the ObjectInitializationScope free even on release builds. 3. Factored a DisallowScope out of DisallowGC, and make DisallowGC extend it. Introduce a DisallowVMReentry class that extends DisallowScope. 4. Fixed a bug found by the ObjectInitializationScope. The bug is that there are scenarios where the structure passed to tryCreateUninitializedRestricted() that may not be an "original" structure. As a result, initializeIndex() would end up allocating new structures, and therefore trigger a GC. The fix is to detect that the structure passed to tryCreateUninitializedRestricted() is not an "original" one, and pre-initialize the array with 0s. This bug was detected by existing tests. Hence, no new test needed. 5. Replaced all inappropriate uses of tryCreateUninitializedRestricted() with tryCreate(). Inappropriate uses here means code that is not in performance critical paths. Similarly, replaced accompanying uses of initializeIndex() with putDirectIndex(). This patch is performance neutral (according to the JSC command line benchmarks). * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGOperations.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/DeferGC.cpp: * heap/DeferGC.h: (JSC::DisallowGC::DisallowGC): (JSC::DisallowGC::initialize): (JSC::DisallowGC::scopeReentryCount): (JSC::DisallowGC::setScopeReentryCount): (JSC::DisallowGC::~DisallowGC): Deleted. (JSC::DisallowGC::isGCDisallowedOnCurrentThread): Deleted. * heap/GCDeferralContextInlines.h: (JSC::GCDeferralContext::~GCDeferralContext): * heap/Heap.cpp: (JSC::Heap::collectIfNecessaryOrDefer): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoPrivateFuncConcatMemcpy): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createByCopyingFrom): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/DisallowScope.h: Added. (JSC::DisallowScope::DisallowScope): (JSC::DisallowScope::~DisallowScope): (JSC::DisallowScope::isInEffectOnCurrentThread): (JSC::DisallowScope::enable): (JSC::DisallowScope::enterScope): (JSC::DisallowScope::exitScope): * runtime/DisallowVMReentry.cpp: Added. * runtime/DisallowVMReentry.h: Added. (JSC::DisallowVMReentry::DisallowVMReentry): (JSC::DisallowVMReentry::initialize): (JSC::DisallowVMReentry::scopeReentryCount): (JSC::DisallowVMReentry::setScopeReentryCount): * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::fastSlice): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. * runtime/JSArray.h: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::tryCreate): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. (JSC::createArrayButterfly): Deleted. * runtime/JSCellInlines.h: (JSC::allocateCell): * runtime/JSObject.h: (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): * runtime/ObjectInitializationScope.cpp: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::~ObjectInitializationScope): (JSC::ObjectInitializationScope::notifyAllocated): (JSC::ObjectInitializationScope::verifyPropertiesAreInitialized): * runtime/ObjectInitializationScope.h: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::vm): (JSC::ObjectInitializationScope::notifyAllocated): * runtime/Operations.h: (JSC::isScribbledValue): (JSC::scribble): * runtime/RegExpMatchesArray.cpp: (JSC::createEmptyRegExpMatchesArray): * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): (JSC::createRegExpMatchesArray): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): Canonical link: https://commits.webkit.org/188279@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-04-27 19:24:07 +00:00
// FIXME: we should throw an out of memory error here if tryCreate() fails.
// https://bugs.webkit.org/show_bug.cgi?id=169784
Audit and fix incorrect uses of JSArray::tryCreateForInitializationPrivate(). https://bugs.webkit.org/show_bug.cgi?id=171344 <rdar://problem/31352667> Reviewed by Filip Pizlo. JSArray::tryCreateForInitializationPrivate() should only be used in performance critical paths, and should always be used with care because it creates an uninitialized object that needs to be initialized by its client before the object can be released into the system. Before the object is fully initialized: a. the client should not re-enter the VM to execute JS code, and b. GC should not run. This is because until the object is fully initialized, it is an inconsistent state that the GC and JS code will not be happy about. In this patch, we do the following: 1. Renamed JSArray::tryCreateForInitializationPrivate() to JSArray::tryCreateUninitializedRestricted() because "private" is a bit ambiguous and can be confused with APIs that are called freely within WebKit but are not meant for clients of WebKit. In this case, we intend for use of this API to be restricted to only a few carefully considered and crafted cases. 2. Introduce the ObjectInitializationScope RAII object which covers the period when the uninitialized object is created and gets initialized. ObjectInitializationScope will asserts that either the object is created fully initialized (in the case where the object structure is not an "original" structure) or if created uninitialized, is fully initialized at the end of the scope. If the object is created uninitialized, the ObjectInitializationScope also ensures that we do not GC nor re-enter the VM to execute JS code. This is achieved by enabling DisallowGC and DisallowVMReentry scopes. tryCreateUninitializedRestricted() and initializeIndex() now requires an ObjectInitializationScope instance. The ObjectInitializationScope replaces the VM& argument because it can be used to pass the VM& itself. This is a small optimization that makes passing the ObjectInitializationScope free even on release builds. 3. Factored a DisallowScope out of DisallowGC, and make DisallowGC extend it. Introduce a DisallowVMReentry class that extends DisallowScope. 4. Fixed a bug found by the ObjectInitializationScope. The bug is that there are scenarios where the structure passed to tryCreateUninitializedRestricted() that may not be an "original" structure. As a result, initializeIndex() would end up allocating new structures, and therefore trigger a GC. The fix is to detect that the structure passed to tryCreateUninitializedRestricted() is not an "original" one, and pre-initialize the array with 0s. This bug was detected by existing tests. Hence, no new test needed. 5. Replaced all inappropriate uses of tryCreateUninitializedRestricted() with tryCreate(). Inappropriate uses here means code that is not in performance critical paths. Similarly, replaced accompanying uses of initializeIndex() with putDirectIndex(). This patch is performance neutral (according to the JSC command line benchmarks). * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGOperations.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/DeferGC.cpp: * heap/DeferGC.h: (JSC::DisallowGC::DisallowGC): (JSC::DisallowGC::initialize): (JSC::DisallowGC::scopeReentryCount): (JSC::DisallowGC::setScopeReentryCount): (JSC::DisallowGC::~DisallowGC): Deleted. (JSC::DisallowGC::isGCDisallowedOnCurrentThread): Deleted. * heap/GCDeferralContextInlines.h: (JSC::GCDeferralContext::~GCDeferralContext): * heap/Heap.cpp: (JSC::Heap::collectIfNecessaryOrDefer): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoPrivateFuncConcatMemcpy): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createByCopyingFrom): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/DisallowScope.h: Added. (JSC::DisallowScope::DisallowScope): (JSC::DisallowScope::~DisallowScope): (JSC::DisallowScope::isInEffectOnCurrentThread): (JSC::DisallowScope::enable): (JSC::DisallowScope::enterScope): (JSC::DisallowScope::exitScope): * runtime/DisallowVMReentry.cpp: Added. * runtime/DisallowVMReentry.h: Added. (JSC::DisallowVMReentry::DisallowVMReentry): (JSC::DisallowVMReentry::initialize): (JSC::DisallowVMReentry::scopeReentryCount): (JSC::DisallowVMReentry::setScopeReentryCount): * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::fastSlice): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. * runtime/JSArray.h: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::tryCreate): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. (JSC::createArrayButterfly): Deleted. * runtime/JSCellInlines.h: (JSC::allocateCell): * runtime/JSObject.h: (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): * runtime/ObjectInitializationScope.cpp: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::~ObjectInitializationScope): (JSC::ObjectInitializationScope::notifyAllocated): (JSC::ObjectInitializationScope::verifyPropertiesAreInitialized): * runtime/ObjectInitializationScope.h: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::vm): (JSC::ObjectInitializationScope::notifyAllocated): * runtime/Operations.h: (JSC::isScribbledValue): (JSC::scribble): * runtime/RegExpMatchesArray.cpp: (JSC::createEmptyRegExpMatchesArray): * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): (JSC::createRegExpMatchesArray): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): Canonical link: https://commits.webkit.org/188279@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-04-27 19:24:07 +00:00
JSArray* array = JSArray::tryCreate(vm, structure, arraySize);
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
RELEASE_ASSERT(array);
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ArgumentPLoc)
continue;
unsigned argIndex = property.location().info();
if (numberOfArgumentsToSkip > argIndex)
continue;
unsigned arrayIndex = argIndex - numberOfArgumentsToSkip;
if (arrayIndex >= arraySize)
continue;
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
array->putDirectIndex(globalObject, arrayIndex, JSValue::decode(values[i]));
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
}
PerformanceTests: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * JetStream2/wasm/HashSet.cpp: * StitchMarker/wtf/Assertions.h: * StitchMarker/wtf/DateMath.cpp: (WTF::initializeDates): * StitchMarker/wtf/HashTable.h: * StitchMarker/wtf/Hasher.h: (WTF::StringHasher::addCharacters): * StitchMarker/wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * StitchMarker/wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * StitchMarker/wtf/ValueCheck.h: * StitchMarker/wtf/Vector.h: (WTF::minCapacity>::checkConsistency): * StitchMarker/wtf/text/AtomicStringImpl.cpp: * StitchMarker/wtf/text/AtomicStringImpl.h: * StitchMarker/wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * StitchMarker/wtf/text/StringImpl.h: * StitchMarker/wtf/text/SymbolImpl.h: * StitchMarker/wtf/text/UniquedStringImpl.h: Source/JavaScriptCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * API/tests/testapi.c: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithLoad): (JSC::ARM64Assembler::replaceWithAddressComputation): * assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::LocalWriter::LocalWriter): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/ProbeStack.cpp: (JSC::Probe::Stack::Stack): * assembler/ProbeStack.h: * b3/B3FoldPathConstants.cpp: * b3/B3LowerToAir.cpp: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::MemoryValue): * b3/B3Opcode.cpp: * b3/B3Type.h: * b3/B3TypeMap.h: * b3/B3Width.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirArg.cpp: * b3/air/AirArg.h: * b3/air/AirCode.h: * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * bytecode/AccessCase.cpp: * bytecode/AccessCase.h: * bytecode/CallVariant.cpp: (JSC::variantListWithVariant): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex): * bytecode/CodeBlockHash.cpp: (JSC::CodeBlockHash::dump const): * bytecode/StructureStubInfo.cpp: * bytecode/StructureStubInfo.h: * bytecompiler/NodesCodegen.cpp: (JSC::FunctionCallResolveNode::emitBytecode): * bytecompiler/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setIndex): * debugger/Debugger.cpp: (JSC::Debugger::removeBreakpoint): * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions): * dfg/DFGAbstractValue.cpp: * dfg/DFGAbstractValue.h: (JSC::DFG::AbstractValue::merge): (JSC::DFG::AbstractValue::checkConsistency const): (JSC::DFG::AbstractValue::assertIsRegistered const): * dfg/DFGArithMode.h: (JSC::DFG::doesOverflow): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::didLink): * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::performBlockCFA): * dfg/DFGCommon.h: (JSC::DFG::validationEnabled): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::finalizeCatchEntrypoints): * dfg/DFGDesiredWatchpoints.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGEdge.h: (JSC::DFG::Edge::makeWord): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::finalizeOSREntrypoints): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGScoreBoard.h: (JSC::DFG::ScoreBoard::assertClear): * dfg/DFGSlowPathGenerator.h: (JSC::DFG::SlowPathGenerator::generate): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): (JSC::DFG::SpeculativeJIT::emitAllocateButterfly): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateCell): * dfg/DFGStructureAbstractValue.cpp: * dfg/DFGStructureAbstractValue.h: (JSC::DFG::StructureAbstractValue::assertIsRegistered const): * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVirtualRegisterAllocationPhase.cpp: (JSC::DFG::VirtualRegisterAllocationPhase::run): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): (JSC::FTL::DFG::LowerDFGToB3::crash): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/BlockDirectory.cpp: (JSC::BlockDirectory::assertNoUnswept): * heap/GCSegmentedArray.h: (JSC::GCArraySegment::GCArraySegment): * heap/GCSegmentedArrayInlines.h: (JSC::GCSegmentedArray<T>::clear): (JSC::GCSegmentedArray<T>::expand): (JSC::GCSegmentedArray<T>::validatePrevious): * heap/HandleSet.cpp: * heap/HandleSet.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/MarkedBlock.cpp: * heap/MarkedBlock.h: (JSC::MarkedBlock::assertValidCell const): (JSC::MarkedBlock::assertMarksNotStale): * heap/MarkedSpace.cpp: (JSC::MarkedSpace::beginMarking): (JSC::MarkedSpace::endMarking): (JSC::MarkedSpace::assertNoUnswept): * heap/PreciseAllocation.cpp: * heap/PreciseAllocation.h: (JSC::PreciseAllocation::assertValidCell const): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::SlotVisitor): (JSC::SlotVisitor::appendJSCellOrAuxiliary): * heap/SlotVisitor.h: * inspector/InspectorProtocolTypes.h: (Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): (CppProtocolTypesImplementationGenerator): (CppProtocolTypesImplementationGenerator._generate_assertion_for_enum): * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result: * interpreter/FrameTracers.h: (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): * interpreter/Interpreter.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupStubArgs): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::emitDeltaCheck): (JSC::CallFrameShuffler::prepareAny): * jit/JIT.cpp: (JSC::JIT::assertStackPointerOffset): (JSC::JIT::compileWithoutLinking): * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_hint): * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/Repatch.cpp: (JSC::linkPolymorphicCall): * jit/ThunkGenerators.cpp: (JSC::emitPointerValidation): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LLIntOfflineAsmConfig.h: * parser/Lexer.cpp: * parser/Lexer.h: (JSC::isSafeBuiltinIdentifier): (JSC::Lexer<T>::lexExpectIdentifier): * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): (JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): * runtime/Butterfly.h: (JSC::ContiguousData::ContiguousData): (JSC::ContiguousData::Data::Data): * runtime/HashMapImpl.h: (JSC::HashMapImpl::checkConsistency const): (JSC::HashMapImpl::assertBufferIsEmpty const): * runtime/JSCellInlines.h: (JSC::JSCell::methodTable const): * runtime/JSFunction.cpp: * runtime/JSFunction.h: (JSC::JSFunction::assertTypeInfoFlagInvariants): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSObject.cpp: (JSC::JSObject::visitChildren): (JSC::JSFinalObject::visitChildren): * runtime/JSObjectInlines.h: (JSC::JSObject::validatePutOwnDataProperty): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::Lexer::lex): * runtime/LiteralParser.h: * runtime/Operations.h: (JSC::scribbleFreeCells): * runtime/OptionsList.h: * runtime/VM.cpp: (JSC::VM::computeCanUseJIT): * runtime/VM.h: (JSC::VM::canUseJIT): * runtime/VarOffset.h: (JSC::VarOffset::checkSanity const): * runtime/WeakMapImpl.h: (JSC::WeakMapImpl::checkConsistency const): (JSC::WeakMapImpl::assertBufferIsEmpty const): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::validateInst): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::validationFail const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::checkConsistency): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast): * wasm/WasmSectionParser.h: * wasm/WasmSections.h: * wasm/WasmSignatureInlines.h: (JSC::Wasm::SignatureInformation::get): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): Source/WebCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/webdatabase/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::operator=): * Modules/webdatabase/DatabaseTask.cpp: (WebCore::DatabaseTask::performTask): * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseThread::terminationRequested const): * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: (WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation): * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: (WebCore::WHLSL::findHighZombies): * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: (WebCore::WHLSL::matches): * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: (WebCore::WHLSL::checkLiteralTypes): * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: (WebCore::WHLSL::FindAllTypes::appendNamedType): * bindings/js/JSCallbackData.h: * bindings/js/JSLazyEventListener.cpp: * bindings/js/JSLazyEventListener.h: * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcOperationNode::primitiveType const): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSStyleSheet.cpp: * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::suspendIfNeeded): (WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const): * dom/ActiveDOMObject.h: * dom/ContainerNode.cpp: * dom/ContainerNodeAlgorithms.cpp: * dom/ContainerNodeAlgorithms.h: * dom/CustomElementReactionQueue.cpp: * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope): (WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope): * dom/Document.cpp: (WebCore::Document::hitTest): * dom/Document.h: (WebCore::Document::decrementReferencingNodeCount): * dom/Element.cpp: (WebCore::Element::addShadowRoot): (WebCore::Element::getURLAttribute const): (WebCore::Element::getNonEmptyURLAttribute const): * dom/Element.h: * dom/ElementAndTextDescendantIterator.h: (WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator): (WebCore::ElementAndTextDescendantIterator::dropAssertions): (WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack): (WebCore::ElementAndTextDescendantIterator::traverseNextSibling): (WebCore::ElementAndTextDescendantIterator::traversePreviousSibling): * dom/ElementDescendantIterator.h: (WebCore::ElementDescendantIterator::ElementDescendantIterator): (WebCore::ElementDescendantIterator::dropAssertions): (WebCore::ElementDescendantIterator::operator++): (WebCore::ElementDescendantIterator::operator--): (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator): (WebCore::ElementDescendantConstIterator::dropAssertions): (WebCore::ElementDescendantConstIterator::operator++): * dom/ElementIterator.h: (WebCore::ElementIterator<ElementType>::ElementIterator): (WebCore::ElementIterator<ElementType>::traverseNext): (WebCore::ElementIterator<ElementType>::traversePrevious): (WebCore::ElementIterator<ElementType>::traverseNextSibling): (WebCore::ElementIterator<ElementType>::traversePreviousSibling): (WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementIterator<ElementType>::dropAssertions): (WebCore::ElementIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::ElementConstIterator): (WebCore::ElementConstIterator<ElementType>::traverseNext): (WebCore::ElementConstIterator<ElementType>::traversePrevious): (WebCore::ElementConstIterator<ElementType>::traverseNextSibling): (WebCore::ElementConstIterator<ElementType>::traversePreviousSibling): (WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementConstIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::dropAssertions): * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventListener.h: * dom/EventPath.cpp: * dom/EventSender.h: * dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::setAttributeEventListener): (WebCore::EventTarget::innerInvokeEventListeners): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::moveNodeToNewDocument): (WebCore::Node::removedLastRef): * dom/Node.h: (WebCore::Node::deref const): * dom/ScriptDisallowedScope.h: (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): * dom/ScriptExecutionContext.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::execute const): * dom/SlotAssignment.cpp: (WebCore::SlotAssignment::addSlotElementByName): (WebCore::SlotAssignment::removeSlotElementByName): (WebCore::SlotAssignment::resolveSlotsAfterSlotMutation): (WebCore::SlotAssignment::findFirstSlotElement): * dom/SlotAssignment.h: * dom/TreeScopeOrderedMap.cpp: (WebCore::TreeScopeOrderedMap::add): (WebCore::TreeScopeOrderedMap::get const): * dom/TreeScopeOrderedMap.h: * fileapi/Blob.cpp: * fileapi/Blob.h: * history/BackForwardCache.cpp: (WebCore::BackForwardCache::removeAllItemsForPage): * history/BackForwardCache.h: * html/CanvasBase.cpp: (WebCore::CanvasBase::notifyObserversCanvasDestroyed): * html/CanvasBase.h: * html/HTMLCollection.h: (WebCore::CollectionNamedElementCache::didPopulate): * html/HTMLSelectElement.cpp: (WebCore:: const): * html/HTMLTableRowsCollection.cpp: (WebCore::assertRowIsInTable): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::indexForPosition const): * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase): * html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler): (WebCore::HTMLParserScheduler::suspend): (WebCore::HTMLParserScheduler::resume): * html/parser/HTMLParserScheduler.h: * html/parser/HTMLToken.h: (WebCore::HTMLToken::beginStartTag): (WebCore::HTMLToken::beginEndTag): (WebCore::HTMLToken::endAttribute): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::constructTree): * html/parser/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): * layout/FormattingContext.cpp: (WebCore::Layout::FormattingContext::geometryForBox const): * layout/blockformatting/BlockFormattingContext.cpp: (WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition): * layout/blockformatting/BlockFormattingContext.h: * layout/displaytree/DisplayBox.cpp: (WebCore::Display::Box::Box): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::setTopLeft): (WebCore::Display::Box::setTop): (WebCore::Display::Box::setLeft): (WebCore::Display::Box::setContentBoxHeight): (WebCore::Display::Box::setContentBoxWidth): (WebCore::Display::Box::setHorizontalMargin): (WebCore::Display::Box::setVerticalMargin): (WebCore::Display::Box::setHorizontalComputedMargin): (WebCore::Display::Box::setBorder): (WebCore::Display::Box::setPadding): * layout/displaytree/DisplayInlineRect.h: (WebCore::Display::InlineRect::InlineRect): (WebCore::Display::InlineRect::setTopLeft): (WebCore::Display::InlineRect::setTop): (WebCore::Display::InlineRect::setBottom): (WebCore::Display::InlineRect::setLeft): (WebCore::Display::InlineRect::setWidth): (WebCore::Display::InlineRect::setHeight): * layout/displaytree/DisplayLineBox.h: (WebCore::Display::LineBox::LineBox): (WebCore::Display::LineBox::setBaselineOffsetIfGreater): (WebCore::Display::LineBox::resetBaseline): (WebCore::Display::LineBox::Baseline::Baseline): (WebCore::Display::LineBox::Baseline::setAscent): (WebCore::Display::LineBox::Baseline::setDescent): (WebCore::Display::LineBox::Baseline::reset): * layout/displaytree/DisplayRect.h: (WebCore::Display::Rect::Rect): (WebCore::Display::Rect::setTopLeft): (WebCore::Display::Rect::setTop): (WebCore::Display::Rect::setLeft): (WebCore::Display::Rect::setWidth): (WebCore::Display::Rect::setHeight): (WebCore::Display::Rect::setSize): (WebCore::Display::Rect::clone const): * layout/floats/FloatingContext.cpp: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::CollapsibleContent::collapse): * layout/tableformatting/TableGrid.cpp: (WebCore::Layout::TableGrid::Column::setWidthConstraints): (WebCore::Layout::TableGrid::Column::setLogicalWidth): (WebCore::Layout::TableGrid::Column::setLogicalLeft): * layout/tableformatting/TableGrid.h: * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::addSubresourceLoader): * loader/DocumentLoader.h: * loader/ImageLoader.cpp: * loader/cache/CachedResource.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::lruListFor): (WebCore::MemoryCache::removeFromLRUList): * page/FrameView.cpp: (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): * page/FrameViewLayoutContext.cpp: * page/FrameViewLayoutContext.h: * page/Page.cpp: * page/Page.h: * page/ViewportConfiguration.cpp: * page/ViewportConfiguration.h: * page/mac/EventHandlerMac.mm: (WebCore::CurrentEventScope::CurrentEventScope): * platform/DateComponents.cpp: (WebCore::DateComponents::toStringForTime const): * platform/ScrollableArea.cpp: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::combineIntoOneSegment const): * platform/SharedBuffer.h: * platform/Supplementable.h: * platform/Timer.cpp: (WebCore::TimerBase::checkHeapIndex const): (WebCore::TimerBase::updateHeapIfNeeded): * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Image.h: * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::getScratchBuffer): (WebCore::ScratchBuffer::scheduleScratchBufferPurge): * platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::setWindow): * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/cg/ImageBufferDataCG.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/cocoa/FontCacheCoreText.cpp: * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: (gstAllocatorFastMallocFree): * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: (Nicosia::PaintingContextCairo::ForPainting::ForPainting): * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp: (Nicosia::BackingStoreTextureMapperImpl::createTile): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl): * platform/graphics/win/GradientDirect2D.cpp: (WebCore::Gradient::fill): * platform/graphics/win/ImageBufferDataDirect2D.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::appendGeometry): (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::strokeContains const): (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::setTags): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource): * platform/network/HTTPParsers.cpp: (WebCore::isCrossOriginSafeHeader): * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::SQLiteStatement): (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::finalize): * platform/sql/SQLiteStatement.h: * platform/win/COMPtr.h: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::removeInlineBox const): * rendering/FloatingObjects.cpp: (WebCore::FloatingObject::FloatingObject): (WebCore::FloatingObjects::addPlacedObject): (WebCore::FloatingObjects::removePlacedObject): * rendering/FloatingObjects.h: * rendering/GridTrackSizingAlgorithm.cpp: * rendering/GridTrackSizingAlgorithm.h: * rendering/LayoutDisallowedScope.cpp: * rendering/LayoutDisallowedScope.h: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlockChild): (WebCore::RenderBlockFlow::removeFloatingObject): (WebCore::RenderBlockFlow::ensureLineBoxes): * rendering/RenderBoxModelObject.cpp: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderElement.cpp: * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToContainer const): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::placeItemsOnGrid const): (WebCore::RenderGrid::baselinePosition const): * rendering/RenderInline.cpp: (WebCore::RenderInline::willBeDestroyed): * rendering/RenderLayer.cpp: (WebCore::ClipRectsCache::ClipRectsCache): (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::traverseVisibleNonCompositedDescendantLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateBackingAndHierarchy): (WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): (WebCore::RenderLayerCompositor::layerHas3DContent const): * rendering/RenderLayoutState.cpp: (WebCore::RenderLayoutState::RenderLayoutState): (WebCore::RenderLayoutState::computeOffsets): (WebCore::RenderLayoutState::addLayoutDelta): * rendering/RenderLayoutState.h: (WebCore::RenderLayoutState::RenderLayoutState): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject): (WebCore::RenderObject::clearNeedsLayout): * rendering/RenderObject.h: * rendering/RenderQuote.cpp: (WebCore::quotesForLanguage): * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::computeOverflowFromCells): * rendering/RenderTextLineBoxes.cpp: (WebCore::RenderTextLineBoxes::checkConsistency const): * rendering/RenderTextLineBoxes.h: * rendering/line/BreakingContext.h: (WebCore::tryHyphenating): * rendering/style/GridArea.h: (WebCore::GridSpan::GridSpan): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::~RenderStyle): * rendering/style/RenderStyle.h: * rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::RenderTreeBuilder::Ruby::detach): * rendering/updating/RenderTreePosition.cpp: (WebCore::RenderTreePosition::computeNextSibling): * rendering/updating/RenderTreePosition.h: * svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): (WebCore::SVGToOTFFontConverter::Placeholder::populate): (WebCore::SVGToOTFFontConverter::appendCFFTable): (WebCore::SVGToOTFFontConverter::firstGlyph const): (WebCore::SVGToOTFFontConverter::appendKERNTable): * svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance): (WebCore::SVGTransformDistance::scaledDistance const): (WebCore::SVGTransformDistance::addSVGTransforms): (WebCore::SVGTransformDistance::addToSVGTransform const): (WebCore::SVGTransformDistance::distance const): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImage): * testing/InternalSettings.cpp: * workers/service/ServiceWorkerJob.h: * worklets/PaintWorkletGlobalScope.h: (WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope): * xml/XPathStep.cpp: Source/WebKit: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::invalidateAndCancel): * NetworkProcess/NetworkSession.h: * NetworkProcess/cache/NetworkCacheStorage.cpp: (WebKit::NetworkCache::Storage::setCapacity): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (toNSURLSessionResponseDisposition): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Platform/IPC/Connection.cpp: (IPC::Connection::waitForMessage): * Platform/IPC/MessageReceiver.h: (IPC::MessageReceiver::willBeAddedToMessageReceiverMap): (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap): * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::readFromMachPort): * Platform/mac/MachUtilities.cpp: (setMachExceptionPort): * Shared/API/APIClient.h: (API::Client::Client): * Shared/API/Cocoa/WKRemoteObjectCoder.mm: * Shared/Cocoa/ArgumentCodersCocoa.h: * Shared/SharedStringHashTableReadOnly.cpp: * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): * UIProcess/GenericCallback.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::launchProcess): * UIProcess/PageLoadState.h: (WebKit::PageLoadState::Transaction::Token::Token): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveResponse): * WebProcess/Network/WebResourceLoader.h: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: (WebKit::NetscapePluginStream::NetscapePluginStream): (WebKit::NetscapePluginStream::notifyAndDestroyStream): * WebProcess/Plugins/Netscape/NetscapePluginStream.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runModal): * WebProcess/WebProcess.cpp: (WebKit::checkDocumentsCaptureStateConsistency): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::updateProcessName): Source/WebKitLegacy: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::StorageAreaImpl): (WebKit::StorageAreaImpl::close): * Storage/StorageAreaImpl.h: Source/WebKitLegacy/mac: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * History/WebHistory.mm: (-[WebHistoryPrivate removeItemForURLString:]): * WebView/WebFrame.mm: Source/WebKitLegacy/win: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * WebKitQuartzCoreAdditions/CAD3DRenderer.cpp: (WKQCA::CAD3DRenderer::swapChain): (WKQCA::CAD3DRenderer::initialize): * WebKitQuartzCoreAdditions/CAD3DRenderer.h: * WebView.cpp: (WebView::Release): * WebView.h: Source/WTF: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. This patch did the following changes: 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability. In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents as well. We'll do that in another patch. For now, they are left as is to minimize the size of this patch. See https://bugs.webkit.org/show_bug.cgi?id=205780. 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead. 3. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". * wtf/Assertions.h: * wtf/AutomaticThread.cpp: (WTF::AutomaticThread::start): * wtf/BitVector.h: * wtf/BlockObjCExceptions.mm: (ReportBlockedObjCException): * wtf/BloomFilter.h: * wtf/CallbackAggregator.h: (WTF::CallbackAggregator::CallbackAggregator): * wtf/CheckedArithmetic.h: (WTF::observesOverflow<AssertNoOverflow>): * wtf/CheckedBoolean.h: (CheckedBoolean::CheckedBoolean): (CheckedBoolean::operator bool): * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): * wtf/DateMath.cpp: (WTF::initializeDates): * wtf/Gigacage.cpp: (Gigacage::tryAllocateZeroedVirtualPages): * wtf/HashTable.h: (WTF::KeyTraits>::checkKey): (WTF::KeyTraits>::checkTableConsistencyExceptSize const): * wtf/LoggerHelper.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::headerOf const): * wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * wtf/OptionSet.h: (WTF::OptionSet::OptionSet): * wtf/Platform.h: * wtf/PtrTag.h: * wtf/RefCounted.h: (WTF::RefCountedBase::disableThreadingChecks): (WTF::RefCountedBase::enableThreadingChecksGlobally): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::applyRefDerefThreadingCheck const): * wtf/SingleRootGraph.h: (WTF::SingleRootGraph::assertIsConsistent const): * wtf/SizeLimits.cpp: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/URLParser.cpp: (WTF::URLParser::URLParser): (WTF::URLParser::domainToASCII): * wtf/ValueCheck.h: * wtf/Vector.h: (WTF::Malloc>::checkConsistency): * wtf/WeakHashSet.h: * wtf/WeakPtr.h: (WTF::WeakPtrImpl::WeakPtrImpl): (WTF::WeakPtrFactory::WeakPtrFactory): * wtf/text/AtomStringImpl.cpp: * wtf/text/AtomStringImpl.h: * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::reifyString const): * wtf/text/StringBuilder.h: * wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * wtf/text/StringHasher.h: (WTF::StringHasher::addCharacters): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: * wtf/text/UniquedStringImpl.h: Tools: Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory https://bugs.webkit.org/show_bug.cgi?id=205754 Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): Canonical link: https://commits.webkit.org/218957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 22:24:50 +00:00
#if ASSERT_ENABLED
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
// We avoid this O(n^2) loop when asserts are disabled, but the condition checked here
// must hold to ensure the correctness of the above loop because of how we allocate the array.
for (unsigned targetIndex = 0; targetIndex < arraySize; ++targetIndex) {
bool found = false;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() != ArgumentPLoc)
continue;
unsigned argIndex = property.location().info();
if (numberOfArgumentsToSkip > argIndex)
continue;
unsigned arrayIndex = argIndex - numberOfArgumentsToSkip;
if (arrayIndex >= arraySize)
continue;
if (arrayIndex == targetIndex) {
found = true;
break;
}
}
ASSERT(found);
}
PerformanceTests: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * JetStream2/wasm/HashSet.cpp: * StitchMarker/wtf/Assertions.h: * StitchMarker/wtf/DateMath.cpp: (WTF::initializeDates): * StitchMarker/wtf/HashTable.h: * StitchMarker/wtf/Hasher.h: (WTF::StringHasher::addCharacters): * StitchMarker/wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * StitchMarker/wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * StitchMarker/wtf/ValueCheck.h: * StitchMarker/wtf/Vector.h: (WTF::minCapacity>::checkConsistency): * StitchMarker/wtf/text/AtomicStringImpl.cpp: * StitchMarker/wtf/text/AtomicStringImpl.h: * StitchMarker/wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * StitchMarker/wtf/text/StringImpl.h: * StitchMarker/wtf/text/SymbolImpl.h: * StitchMarker/wtf/text/UniquedStringImpl.h: Source/JavaScriptCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * API/tests/testapi.c: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithLoad): (JSC::ARM64Assembler::replaceWithAddressComputation): * assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::LocalWriter::LocalWriter): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/ProbeStack.cpp: (JSC::Probe::Stack::Stack): * assembler/ProbeStack.h: * b3/B3FoldPathConstants.cpp: * b3/B3LowerToAir.cpp: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::MemoryValue): * b3/B3Opcode.cpp: * b3/B3Type.h: * b3/B3TypeMap.h: * b3/B3Width.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirArg.cpp: * b3/air/AirArg.h: * b3/air/AirCode.h: * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * bytecode/AccessCase.cpp: * bytecode/AccessCase.h: * bytecode/CallVariant.cpp: (JSC::variantListWithVariant): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex): * bytecode/CodeBlockHash.cpp: (JSC::CodeBlockHash::dump const): * bytecode/StructureStubInfo.cpp: * bytecode/StructureStubInfo.h: * bytecompiler/NodesCodegen.cpp: (JSC::FunctionCallResolveNode::emitBytecode): * bytecompiler/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setIndex): * debugger/Debugger.cpp: (JSC::Debugger::removeBreakpoint): * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions): * dfg/DFGAbstractValue.cpp: * dfg/DFGAbstractValue.h: (JSC::DFG::AbstractValue::merge): (JSC::DFG::AbstractValue::checkConsistency const): (JSC::DFG::AbstractValue::assertIsRegistered const): * dfg/DFGArithMode.h: (JSC::DFG::doesOverflow): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::didLink): * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::performBlockCFA): * dfg/DFGCommon.h: (JSC::DFG::validationEnabled): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::finalizeCatchEntrypoints): * dfg/DFGDesiredWatchpoints.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGEdge.h: (JSC::DFG::Edge::makeWord): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::finalizeOSREntrypoints): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGScoreBoard.h: (JSC::DFG::ScoreBoard::assertClear): * dfg/DFGSlowPathGenerator.h: (JSC::DFG::SlowPathGenerator::generate): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): (JSC::DFG::SpeculativeJIT::emitAllocateButterfly): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateCell): * dfg/DFGStructureAbstractValue.cpp: * dfg/DFGStructureAbstractValue.h: (JSC::DFG::StructureAbstractValue::assertIsRegistered const): * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVirtualRegisterAllocationPhase.cpp: (JSC::DFG::VirtualRegisterAllocationPhase::run): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): (JSC::FTL::DFG::LowerDFGToB3::crash): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/BlockDirectory.cpp: (JSC::BlockDirectory::assertNoUnswept): * heap/GCSegmentedArray.h: (JSC::GCArraySegment::GCArraySegment): * heap/GCSegmentedArrayInlines.h: (JSC::GCSegmentedArray<T>::clear): (JSC::GCSegmentedArray<T>::expand): (JSC::GCSegmentedArray<T>::validatePrevious): * heap/HandleSet.cpp: * heap/HandleSet.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/MarkedBlock.cpp: * heap/MarkedBlock.h: (JSC::MarkedBlock::assertValidCell const): (JSC::MarkedBlock::assertMarksNotStale): * heap/MarkedSpace.cpp: (JSC::MarkedSpace::beginMarking): (JSC::MarkedSpace::endMarking): (JSC::MarkedSpace::assertNoUnswept): * heap/PreciseAllocation.cpp: * heap/PreciseAllocation.h: (JSC::PreciseAllocation::assertValidCell const): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::SlotVisitor): (JSC::SlotVisitor::appendJSCellOrAuxiliary): * heap/SlotVisitor.h: * inspector/InspectorProtocolTypes.h: (Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): (CppProtocolTypesImplementationGenerator): (CppProtocolTypesImplementationGenerator._generate_assertion_for_enum): * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result: * interpreter/FrameTracers.h: (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): * interpreter/Interpreter.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupStubArgs): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::emitDeltaCheck): (JSC::CallFrameShuffler::prepareAny): * jit/JIT.cpp: (JSC::JIT::assertStackPointerOffset): (JSC::JIT::compileWithoutLinking): * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_hint): * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/Repatch.cpp: (JSC::linkPolymorphicCall): * jit/ThunkGenerators.cpp: (JSC::emitPointerValidation): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LLIntOfflineAsmConfig.h: * parser/Lexer.cpp: * parser/Lexer.h: (JSC::isSafeBuiltinIdentifier): (JSC::Lexer<T>::lexExpectIdentifier): * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): (JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): * runtime/Butterfly.h: (JSC::ContiguousData::ContiguousData): (JSC::ContiguousData::Data::Data): * runtime/HashMapImpl.h: (JSC::HashMapImpl::checkConsistency const): (JSC::HashMapImpl::assertBufferIsEmpty const): * runtime/JSCellInlines.h: (JSC::JSCell::methodTable const): * runtime/JSFunction.cpp: * runtime/JSFunction.h: (JSC::JSFunction::assertTypeInfoFlagInvariants): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSObject.cpp: (JSC::JSObject::visitChildren): (JSC::JSFinalObject::visitChildren): * runtime/JSObjectInlines.h: (JSC::JSObject::validatePutOwnDataProperty): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::Lexer::lex): * runtime/LiteralParser.h: * runtime/Operations.h: (JSC::scribbleFreeCells): * runtime/OptionsList.h: * runtime/VM.cpp: (JSC::VM::computeCanUseJIT): * runtime/VM.h: (JSC::VM::canUseJIT): * runtime/VarOffset.h: (JSC::VarOffset::checkSanity const): * runtime/WeakMapImpl.h: (JSC::WeakMapImpl::checkConsistency const): (JSC::WeakMapImpl::assertBufferIsEmpty const): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::validateInst): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::validationFail const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::checkConsistency): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast): * wasm/WasmSectionParser.h: * wasm/WasmSections.h: * wasm/WasmSignatureInlines.h: (JSC::Wasm::SignatureInformation::get): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): Source/WebCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/webdatabase/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::operator=): * Modules/webdatabase/DatabaseTask.cpp: (WebCore::DatabaseTask::performTask): * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseThread::terminationRequested const): * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: (WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation): * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: (WebCore::WHLSL::findHighZombies): * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: (WebCore::WHLSL::matches): * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: (WebCore::WHLSL::checkLiteralTypes): * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: (WebCore::WHLSL::FindAllTypes::appendNamedType): * bindings/js/JSCallbackData.h: * bindings/js/JSLazyEventListener.cpp: * bindings/js/JSLazyEventListener.h: * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcOperationNode::primitiveType const): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSStyleSheet.cpp: * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::suspendIfNeeded): (WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const): * dom/ActiveDOMObject.h: * dom/ContainerNode.cpp: * dom/ContainerNodeAlgorithms.cpp: * dom/ContainerNodeAlgorithms.h: * dom/CustomElementReactionQueue.cpp: * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope): (WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope): * dom/Document.cpp: (WebCore::Document::hitTest): * dom/Document.h: (WebCore::Document::decrementReferencingNodeCount): * dom/Element.cpp: (WebCore::Element::addShadowRoot): (WebCore::Element::getURLAttribute const): (WebCore::Element::getNonEmptyURLAttribute const): * dom/Element.h: * dom/ElementAndTextDescendantIterator.h: (WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator): (WebCore::ElementAndTextDescendantIterator::dropAssertions): (WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack): (WebCore::ElementAndTextDescendantIterator::traverseNextSibling): (WebCore::ElementAndTextDescendantIterator::traversePreviousSibling): * dom/ElementDescendantIterator.h: (WebCore::ElementDescendantIterator::ElementDescendantIterator): (WebCore::ElementDescendantIterator::dropAssertions): (WebCore::ElementDescendantIterator::operator++): (WebCore::ElementDescendantIterator::operator--): (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator): (WebCore::ElementDescendantConstIterator::dropAssertions): (WebCore::ElementDescendantConstIterator::operator++): * dom/ElementIterator.h: (WebCore::ElementIterator<ElementType>::ElementIterator): (WebCore::ElementIterator<ElementType>::traverseNext): (WebCore::ElementIterator<ElementType>::traversePrevious): (WebCore::ElementIterator<ElementType>::traverseNextSibling): (WebCore::ElementIterator<ElementType>::traversePreviousSibling): (WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementIterator<ElementType>::dropAssertions): (WebCore::ElementIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::ElementConstIterator): (WebCore::ElementConstIterator<ElementType>::traverseNext): (WebCore::ElementConstIterator<ElementType>::traversePrevious): (WebCore::ElementConstIterator<ElementType>::traverseNextSibling): (WebCore::ElementConstIterator<ElementType>::traversePreviousSibling): (WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementConstIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::dropAssertions): * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventListener.h: * dom/EventPath.cpp: * dom/EventSender.h: * dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::setAttributeEventListener): (WebCore::EventTarget::innerInvokeEventListeners): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::moveNodeToNewDocument): (WebCore::Node::removedLastRef): * dom/Node.h: (WebCore::Node::deref const): * dom/ScriptDisallowedScope.h: (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): * dom/ScriptExecutionContext.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::execute const): * dom/SlotAssignment.cpp: (WebCore::SlotAssignment::addSlotElementByName): (WebCore::SlotAssignment::removeSlotElementByName): (WebCore::SlotAssignment::resolveSlotsAfterSlotMutation): (WebCore::SlotAssignment::findFirstSlotElement): * dom/SlotAssignment.h: * dom/TreeScopeOrderedMap.cpp: (WebCore::TreeScopeOrderedMap::add): (WebCore::TreeScopeOrderedMap::get const): * dom/TreeScopeOrderedMap.h: * fileapi/Blob.cpp: * fileapi/Blob.h: * history/BackForwardCache.cpp: (WebCore::BackForwardCache::removeAllItemsForPage): * history/BackForwardCache.h: * html/CanvasBase.cpp: (WebCore::CanvasBase::notifyObserversCanvasDestroyed): * html/CanvasBase.h: * html/HTMLCollection.h: (WebCore::CollectionNamedElementCache::didPopulate): * html/HTMLSelectElement.cpp: (WebCore:: const): * html/HTMLTableRowsCollection.cpp: (WebCore::assertRowIsInTable): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::indexForPosition const): * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase): * html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler): (WebCore::HTMLParserScheduler::suspend): (WebCore::HTMLParserScheduler::resume): * html/parser/HTMLParserScheduler.h: * html/parser/HTMLToken.h: (WebCore::HTMLToken::beginStartTag): (WebCore::HTMLToken::beginEndTag): (WebCore::HTMLToken::endAttribute): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::constructTree): * html/parser/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): * layout/FormattingContext.cpp: (WebCore::Layout::FormattingContext::geometryForBox const): * layout/blockformatting/BlockFormattingContext.cpp: (WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition): * layout/blockformatting/BlockFormattingContext.h: * layout/displaytree/DisplayBox.cpp: (WebCore::Display::Box::Box): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::setTopLeft): (WebCore::Display::Box::setTop): (WebCore::Display::Box::setLeft): (WebCore::Display::Box::setContentBoxHeight): (WebCore::Display::Box::setContentBoxWidth): (WebCore::Display::Box::setHorizontalMargin): (WebCore::Display::Box::setVerticalMargin): (WebCore::Display::Box::setHorizontalComputedMargin): (WebCore::Display::Box::setBorder): (WebCore::Display::Box::setPadding): * layout/displaytree/DisplayInlineRect.h: (WebCore::Display::InlineRect::InlineRect): (WebCore::Display::InlineRect::setTopLeft): (WebCore::Display::InlineRect::setTop): (WebCore::Display::InlineRect::setBottom): (WebCore::Display::InlineRect::setLeft): (WebCore::Display::InlineRect::setWidth): (WebCore::Display::InlineRect::setHeight): * layout/displaytree/DisplayLineBox.h: (WebCore::Display::LineBox::LineBox): (WebCore::Display::LineBox::setBaselineOffsetIfGreater): (WebCore::Display::LineBox::resetBaseline): (WebCore::Display::LineBox::Baseline::Baseline): (WebCore::Display::LineBox::Baseline::setAscent): (WebCore::Display::LineBox::Baseline::setDescent): (WebCore::Display::LineBox::Baseline::reset): * layout/displaytree/DisplayRect.h: (WebCore::Display::Rect::Rect): (WebCore::Display::Rect::setTopLeft): (WebCore::Display::Rect::setTop): (WebCore::Display::Rect::setLeft): (WebCore::Display::Rect::setWidth): (WebCore::Display::Rect::setHeight): (WebCore::Display::Rect::setSize): (WebCore::Display::Rect::clone const): * layout/floats/FloatingContext.cpp: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::CollapsibleContent::collapse): * layout/tableformatting/TableGrid.cpp: (WebCore::Layout::TableGrid::Column::setWidthConstraints): (WebCore::Layout::TableGrid::Column::setLogicalWidth): (WebCore::Layout::TableGrid::Column::setLogicalLeft): * layout/tableformatting/TableGrid.h: * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::addSubresourceLoader): * loader/DocumentLoader.h: * loader/ImageLoader.cpp: * loader/cache/CachedResource.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::lruListFor): (WebCore::MemoryCache::removeFromLRUList): * page/FrameView.cpp: (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): * page/FrameViewLayoutContext.cpp: * page/FrameViewLayoutContext.h: * page/Page.cpp: * page/Page.h: * page/ViewportConfiguration.cpp: * page/ViewportConfiguration.h: * page/mac/EventHandlerMac.mm: (WebCore::CurrentEventScope::CurrentEventScope): * platform/DateComponents.cpp: (WebCore::DateComponents::toStringForTime const): * platform/ScrollableArea.cpp: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::combineIntoOneSegment const): * platform/SharedBuffer.h: * platform/Supplementable.h: * platform/Timer.cpp: (WebCore::TimerBase::checkHeapIndex const): (WebCore::TimerBase::updateHeapIfNeeded): * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Image.h: * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::getScratchBuffer): (WebCore::ScratchBuffer::scheduleScratchBufferPurge): * platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::setWindow): * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/cg/ImageBufferDataCG.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/cocoa/FontCacheCoreText.cpp: * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: (gstAllocatorFastMallocFree): * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: (Nicosia::PaintingContextCairo::ForPainting::ForPainting): * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp: (Nicosia::BackingStoreTextureMapperImpl::createTile): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl): * platform/graphics/win/GradientDirect2D.cpp: (WebCore::Gradient::fill): * platform/graphics/win/ImageBufferDataDirect2D.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::appendGeometry): (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::strokeContains const): (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::setTags): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource): * platform/network/HTTPParsers.cpp: (WebCore::isCrossOriginSafeHeader): * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::SQLiteStatement): (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::finalize): * platform/sql/SQLiteStatement.h: * platform/win/COMPtr.h: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::removeInlineBox const): * rendering/FloatingObjects.cpp: (WebCore::FloatingObject::FloatingObject): (WebCore::FloatingObjects::addPlacedObject): (WebCore::FloatingObjects::removePlacedObject): * rendering/FloatingObjects.h: * rendering/GridTrackSizingAlgorithm.cpp: * rendering/GridTrackSizingAlgorithm.h: * rendering/LayoutDisallowedScope.cpp: * rendering/LayoutDisallowedScope.h: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlockChild): (WebCore::RenderBlockFlow::removeFloatingObject): (WebCore::RenderBlockFlow::ensureLineBoxes): * rendering/RenderBoxModelObject.cpp: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderElement.cpp: * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToContainer const): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::placeItemsOnGrid const): (WebCore::RenderGrid::baselinePosition const): * rendering/RenderInline.cpp: (WebCore::RenderInline::willBeDestroyed): * rendering/RenderLayer.cpp: (WebCore::ClipRectsCache::ClipRectsCache): (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::traverseVisibleNonCompositedDescendantLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateBackingAndHierarchy): (WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): (WebCore::RenderLayerCompositor::layerHas3DContent const): * rendering/RenderLayoutState.cpp: (WebCore::RenderLayoutState::RenderLayoutState): (WebCore::RenderLayoutState::computeOffsets): (WebCore::RenderLayoutState::addLayoutDelta): * rendering/RenderLayoutState.h: (WebCore::RenderLayoutState::RenderLayoutState): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject): (WebCore::RenderObject::clearNeedsLayout): * rendering/RenderObject.h: * rendering/RenderQuote.cpp: (WebCore::quotesForLanguage): * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::computeOverflowFromCells): * rendering/RenderTextLineBoxes.cpp: (WebCore::RenderTextLineBoxes::checkConsistency const): * rendering/RenderTextLineBoxes.h: * rendering/line/BreakingContext.h: (WebCore::tryHyphenating): * rendering/style/GridArea.h: (WebCore::GridSpan::GridSpan): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::~RenderStyle): * rendering/style/RenderStyle.h: * rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::RenderTreeBuilder::Ruby::detach): * rendering/updating/RenderTreePosition.cpp: (WebCore::RenderTreePosition::computeNextSibling): * rendering/updating/RenderTreePosition.h: * svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): (WebCore::SVGToOTFFontConverter::Placeholder::populate): (WebCore::SVGToOTFFontConverter::appendCFFTable): (WebCore::SVGToOTFFontConverter::firstGlyph const): (WebCore::SVGToOTFFontConverter::appendKERNTable): * svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance): (WebCore::SVGTransformDistance::scaledDistance const): (WebCore::SVGTransformDistance::addSVGTransforms): (WebCore::SVGTransformDistance::addToSVGTransform const): (WebCore::SVGTransformDistance::distance const): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImage): * testing/InternalSettings.cpp: * workers/service/ServiceWorkerJob.h: * worklets/PaintWorkletGlobalScope.h: (WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope): * xml/XPathStep.cpp: Source/WebKit: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::invalidateAndCancel): * NetworkProcess/NetworkSession.h: * NetworkProcess/cache/NetworkCacheStorage.cpp: (WebKit::NetworkCache::Storage::setCapacity): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (toNSURLSessionResponseDisposition): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Platform/IPC/Connection.cpp: (IPC::Connection::waitForMessage): * Platform/IPC/MessageReceiver.h: (IPC::MessageReceiver::willBeAddedToMessageReceiverMap): (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap): * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::readFromMachPort): * Platform/mac/MachUtilities.cpp: (setMachExceptionPort): * Shared/API/APIClient.h: (API::Client::Client): * Shared/API/Cocoa/WKRemoteObjectCoder.mm: * Shared/Cocoa/ArgumentCodersCocoa.h: * Shared/SharedStringHashTableReadOnly.cpp: * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): * UIProcess/GenericCallback.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::launchProcess): * UIProcess/PageLoadState.h: (WebKit::PageLoadState::Transaction::Token::Token): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveResponse): * WebProcess/Network/WebResourceLoader.h: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: (WebKit::NetscapePluginStream::NetscapePluginStream): (WebKit::NetscapePluginStream::notifyAndDestroyStream): * WebProcess/Plugins/Netscape/NetscapePluginStream.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runModal): * WebProcess/WebProcess.cpp: (WebKit::checkDocumentsCaptureStateConsistency): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::updateProcessName): Source/WebKitLegacy: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::StorageAreaImpl): (WebKit::StorageAreaImpl::close): * Storage/StorageAreaImpl.h: Source/WebKitLegacy/mac: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * History/WebHistory.mm: (-[WebHistoryPrivate removeItemForURLString:]): * WebView/WebFrame.mm: Source/WebKitLegacy/win: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * WebKitQuartzCoreAdditions/CAD3DRenderer.cpp: (WKQCA::CAD3DRenderer::swapChain): (WKQCA::CAD3DRenderer::initialize): * WebKitQuartzCoreAdditions/CAD3DRenderer.h: * WebView.cpp: (WebView::Release): * WebView.h: Source/WTF: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. This patch did the following changes: 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability. In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents as well. We'll do that in another patch. For now, they are left as is to minimize the size of this patch. See https://bugs.webkit.org/show_bug.cgi?id=205780. 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead. 3. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". * wtf/Assertions.h: * wtf/AutomaticThread.cpp: (WTF::AutomaticThread::start): * wtf/BitVector.h: * wtf/BlockObjCExceptions.mm: (ReportBlockedObjCException): * wtf/BloomFilter.h: * wtf/CallbackAggregator.h: (WTF::CallbackAggregator::CallbackAggregator): * wtf/CheckedArithmetic.h: (WTF::observesOverflow<AssertNoOverflow>): * wtf/CheckedBoolean.h: (CheckedBoolean::CheckedBoolean): (CheckedBoolean::operator bool): * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): * wtf/DateMath.cpp: (WTF::initializeDates): * wtf/Gigacage.cpp: (Gigacage::tryAllocateZeroedVirtualPages): * wtf/HashTable.h: (WTF::KeyTraits>::checkKey): (WTF::KeyTraits>::checkTableConsistencyExceptSize const): * wtf/LoggerHelper.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::headerOf const): * wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * wtf/OptionSet.h: (WTF::OptionSet::OptionSet): * wtf/Platform.h: * wtf/PtrTag.h: * wtf/RefCounted.h: (WTF::RefCountedBase::disableThreadingChecks): (WTF::RefCountedBase::enableThreadingChecksGlobally): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::applyRefDerefThreadingCheck const): * wtf/SingleRootGraph.h: (WTF::SingleRootGraph::assertIsConsistent const): * wtf/SizeLimits.cpp: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/URLParser.cpp: (WTF::URLParser::URLParser): (WTF::URLParser::domainToASCII): * wtf/ValueCheck.h: * wtf/Vector.h: (WTF::Malloc>::checkConsistency): * wtf/WeakHashSet.h: * wtf/WeakPtr.h: (WTF::WeakPtrImpl::WeakPtrImpl): (WTF::WeakPtrFactory::WeakPtrFactory): * wtf/text/AtomStringImpl.cpp: * wtf/text/AtomStringImpl.h: * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::reifyString const): * wtf/text/StringBuilder.h: * wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * wtf/text/StringHasher.h: (WTF::StringHasher::addCharacters): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: * wtf/text/UniquedStringImpl.h: Tools: Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory https://bugs.webkit.org/show_bug.cgi?id=205754 Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): Canonical link: https://commits.webkit.org/218957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 22:24:50 +00:00
#endif // ASSERT_ENABLED
We should be able to eliminate rest parameter allocations https://bugs.webkit.org/show_bug.cgi?id=163925 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/rest-parameter-allocation-elimination.js: Added. (assert): (test1.bar): (test1): (test2.jaz): (test2.jaz2.kaz): (test2.jaz2): (test2): (test3.foo): (test3.baz): (test3.jaz): (test3): (test4.baz): (test4.jaz): (test4): (test5.baz): (test5.jaz): (test5): (test6.baz): (test6.jaz): (test6): (test7.baz): (test7.jaz): (test7.check): (test7): (test8.baz): (test8.jaz): (test8.check): (test8): (test9.baz): (test9.jaz): (test9.check): (test9): (test10.baz): (test10.jaz): (test10): (test11.bar): (test11.foo): (test11.makeArguments): (test11.): (test12): (test12.bar): (test12.foo): (test12.makeArguments): (test12.): (test13.bar): (test13.top): (test13.foo): (test13.makeArguments): (test13.): (test13): (test14.bar): (test14.top): (test14.foo): (test14.makeArguments): (test14.): (test14): (test15.bar): (test15.top): (test15.foo): (test15.makeArguments): (test15.): (test15): Source/JavaScriptCore: This is the first step towards eliminating rest parameter allocations when they're spread to other function calls: `function foo(...args) { bar(...args); }` This patch simply removes the allocation for rest parameter allocations using the same escape analysis that is performed in the argument elimination phase. I've added a new rule to the phase to make sure that CheckStructure doesn't count as an escape for an allocation since this often shows up in code like this: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` The above program now entirely eliminates the allocation for args compiled in the FTL. Programs like this also eliminate the allocation for args: ``` function foo(...args) { return [args.length, args[0]]; } function bar(...args) { return someOtherFunction.apply(null, args); } ``` This patch extends the arguments elimination phase to understand the concept that we may want to forward arguments, or get from the arguments region, starting at some offset. The offset is the number of names parameter before the rest parameter. For example: ``` function foo(a, b, ...args) { return bar.apply(null, args); } ``` Will forward arguments starting at the *third* argument. Our arguments forwarding code already had the notion of starting from some offset, however, I found bugs in that code. I extended it to work properly for rest parameters with arbitrary skip offsets. And this program: ``` function foo(...args) { let r = []; for (let i = 0; i < args.length; i++) r.push(args[i]); return r; } ``` Knows to perform the GetMyArgumentByVal* with an offset of 3 inside the loop. To make this work, I taught GetMyArgumentByVal and GetMyArgumentByValOutOfBounds to take an offset representing the number of arguments to skip. This patch is a ~20% speedup on microbenchmarks. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::numberOfArgumentsToSkip): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetVarargsFrame): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::restParameterStructure): Canonical link: https://commits.webkit.org/182004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@208235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-01 20:03:03 +00:00
return array;
}
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
}
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
case PhantomSpread: {
JSArray* array = nullptr;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() == SpreadPLoc) {
array = jsCast<JSArray*>(JSValue::decode(values[i]));
break;
}
}
RELEASE_ASSERT(array);
[JSC] Remove JSFixedArray, and use JSImmutableButterfly instead https://bugs.webkit.org/show_bug.cgi?id=204402 Reviewed by Mark Lam. JSTests: * stress/new-array-with-spread-cow-double.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow-int.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow.js: Added. (shouldBe): (shouldBeArray): (test): Source/JavaScriptCore: This patch removes JSFixedArray, and use JSImmutableButterfly instead. JSFixedArray can be replaced by JSImmutableButterfly with Contiguous shape. And further, we can create an array from JSImmutableButterfly generated by Spread node in NewArrayBufferWithSpread. Currently, we are always creating contiguous JSImmutableButterfly from Spread. If it takes contiguous CoW array, we can reuse JSImmutableButterfly of the input. But if it is CoW and not contiguous shape (like, CopyOnWriteArrayWithInt32), we create a JSImmutableButterfly and copy it to this new butterfly. We can extend it to accept non-contiguous JSImmutableButterfly in the future. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecompiler/BytecodeGenerator.cpp: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileObjectKeys): * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::toButterfly): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSCast.h: * runtime/JSFixedArray.cpp: Removed. * runtime/JSFixedArray.h: Removed. * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::createFromArray): (JSC::JSImmutableButterfly::offsetOfPublicLength): (JSC::JSImmutableButterfly::offsetOfVectorLength): * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Canonical link: https://commits.webkit.org/218436@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-12-14 04:34:45 +00:00
// Note: it is sound for JSImmutableButterfly::createFromArray to call getDirectIndex here
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
// because we're guaranteed we won't be calling any getters. The reason for this is
// that we only support PhantomSpread over CreateRest, which is an array we create.
// Any attempts to put a getter on any indices on the rest array will escape the array.
[JSC] Remove JSFixedArray, and use JSImmutableButterfly instead https://bugs.webkit.org/show_bug.cgi?id=204402 Reviewed by Mark Lam. JSTests: * stress/new-array-with-spread-cow-double.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow-int.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow.js: Added. (shouldBe): (shouldBeArray): (test): Source/JavaScriptCore: This patch removes JSFixedArray, and use JSImmutableButterfly instead. JSFixedArray can be replaced by JSImmutableButterfly with Contiguous shape. And further, we can create an array from JSImmutableButterfly generated by Spread node in NewArrayBufferWithSpread. Currently, we are always creating contiguous JSImmutableButterfly from Spread. If it takes contiguous CoW array, we can reuse JSImmutableButterfly of the input. But if it is CoW and not contiguous shape (like, CopyOnWriteArrayWithInt32), we create a JSImmutableButterfly and copy it to this new butterfly. We can extend it to accept non-contiguous JSImmutableButterfly in the future. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecompiler/BytecodeGenerator.cpp: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileObjectKeys): * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::toButterfly): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSCast.h: * runtime/JSFixedArray.cpp: Removed. * runtime/JSFixedArray.h: Removed. * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::createFromArray): (JSC::JSImmutableButterfly::offsetOfPublicLength): (JSC::JSImmutableButterfly::offsetOfVectorLength): * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Canonical link: https://commits.webkit.org/218436@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-12-14 04:34:45 +00:00
auto* fixedArray = JSImmutableButterfly::createFromArray(globalObject, vm, array);
RELEASE_ASSERT(fixedArray);
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
return fixedArray;
}
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
case PhantomNewArrayBuffer: {
JSImmutableButterfly* immutableButterfly = nullptr;
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() == NewArrayBufferPLoc) {
immutableButterfly = jsCast<JSImmutableButterfly*>(JSValue::decode(values[i]));
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
break;
}
}
RELEASE_ASSERT(immutableButterfly);
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
// For now, we use array allocation profile in the actual CodeBlock. It is OK since current NewArrayBuffer
// and PhantomNewArrayBuffer are always bound to a specific op_new_array_buffer.
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(materialization->origin(), callFrame->codeBlock()->baselineAlternative());
Compress CodeOrigin into a single word in the common case https://bugs.webkit.org/show_bug.cgi?id=195928 Reviewed by Saam Barati. The trick is that pointers only take 48 bits on x86_64 in practice (and we can even use the bottom three bits of that thanks to alignment), and even less on ARM64. So we can shove the bytecode index in the top bits almost all the time. If the bytecodeIndex is too ginormous (1<<16 in practice on x86_64), we just set one bit at the bottom and store a pointer to some out-of-line storage instead. Finally we represent an invalid bytecodeIndex (which used to be represented by UINT_MAX) by setting the second least signifcant bit. The patch looks very long, but most of it is just replacing direct accesses to inlineCallFrame and bytecodeIndex by the relevant getters. End result: CodeOrigin in the common case moves from 16 bytes (8 for InlineCallFrame*, 4 for unsigned bytecodeIndex, 4 of padding) to 8. As a reference, during running JetStream2 we allocate more than 35M CodeOrigins. While they won't all be alive at the same time, it is still quite a lot of objects, so I am hoping for some small improvement to RAMification from this work. The one slightly tricky part is that we must implement copy and move assignment operators and constructors to make sure that any out-of-line storage belongs to a single CodeOrigin and is destroyed exactly once. * bytecode/ByValInfo.h: * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFor): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::globalObjectFor): (JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): (JSC::CodeBlock::bytecodeOffsetFromCallSiteIndex): * bytecode/CodeOrigin.cpp: (JSC::CodeOrigin::inlineDepth const): (JSC::CodeOrigin::isApproximatelyEqualTo const): (JSC::CodeOrigin::approximateHash const): (JSC::CodeOrigin::inlineStack const): (JSC::CodeOrigin::codeOriginOwner const): (JSC::CodeOrigin::stackOffset const): (JSC::CodeOrigin::dump const): (JSC::CodeOrigin::inlineDepthForCallFrame): Deleted. * bytecode/CodeOrigin.h: (JSC::OutOfLineCodeOrigin::OutOfLineCodeOrigin): (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::~CodeOrigin): (JSC::CodeOrigin::isSet const): (JSC::CodeOrigin::isHashTableDeletedValue const): (JSC::CodeOrigin::bytecodeIndex const): (JSC::CodeOrigin::inlineCallFrame const): (JSC::CodeOrigin::buildCompositeValue): (JSC::CodeOrigin::hash const): (JSC::CodeOrigin::operator== const): (JSC::CodeOrigin::exitingInlineKind const): Deleted. * bytecode/DeferredSourceDump.h: * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfo): (JSC::GetByIdStatus::computeFor): * bytecode/ICStatusMap.cpp: (JSC::ICStatusContext::isInlined const): * bytecode/InByIdStatus.cpp: (JSC::InByIdStatus::computeFor): (JSC::InByIdStatus::computeForStubInfo): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::dumpInContext const): * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::computeCallerSkippingTailCalls): (JSC::InlineCallFrame::getCallerInlineFrameSkippingTailCalls): (JSC::baselineCodeBlockForOriginAndBaselineCodeBlock): (JSC::CodeOrigin::walkUpInlineStack): * bytecode/InstanceOfStatus.h: * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeForStubInfo): (JSC::PutByIdStatus::computeFor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dumpCodeOrigin): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::willCatchExceptionInMachineFrame): * dfg/DFGGraph.h: (JSC::DFG::Graph::executableFor): (JSC::DFG::Graph::isStrictModeFor): (JSC::DFG::Graph::hasExitSite): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::compileExit): * dfg/DFGOSRExitBase.cpp: (JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOSRExitPreparation.cpp: (JSC::DFG::prepareCodeOriginForOSRExit): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGTierUpCheckInjectionPhase.cpp: (JSC::DFG::TierUpCheckInjectionPhase::run): (JSC::DFG::TierUpCheckInjectionPhase::canOSREnterAtLoopHint): (JSC::DFG::TierUpCheckInjectionPhase::buildNaturalLoopToLoopHintMap): * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::reconstruct const): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): (JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsStart): (JSC::FTL::DFG::LowerDFGToB3::codeOriginDescriptionOfCallSite const): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeOffset): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::unwindToMachineCodeBlockFrame): (JSC::StackVisitor::readFrame): (JSC::StackVisitor::readNonInlinedFrame): (JSC::inlinedFrameOffset): (JSC::StackVisitor::readInlinedFrame): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::executableFor): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::isStrictModeFor): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::argumentCount): * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): (JSC::PCToCodeOriginMap::findPC const): * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::OriginStack): * profiler/ProfilerOriginStack.h: * runtime/ErrorInstance.cpp: (JSC::appendSourceToError): * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::processUnverifiedStackTraces): Canonical link: https://commits.webkit.org/210298@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243232 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-20 20:24:36 +00:00
const Instruction* currentInstruction = codeBlock->instructions().at(materialization->origin().bytecodeIndex()).ptr();
if (!currentInstruction->is<OpNewArrayBuffer>()) {
// This case can happen if Object.keys, an OpCall is first converted into a NewArrayBuffer which is then converted into a PhantomNewArrayBuffer.
// There is no need to update the array allocation profile in that case.
RELEASE_ASSERT(currentInstruction->is<OpCall>());
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
Structure* structure = globalObject->arrayStructureForIndexingTypeDuringAllocation(immutableButterfly->indexingMode());
return CommonSlowPaths::allocateNewArrayBuffer(vm, structure, immutableButterfly);
}
New bytecode format for JSC https://bugs.webkit.org/show_bug.cgi?id=187373 <rdar://problem/44186758> Reviewed by Filip Pizlo. .: Disable JIT by default on 32-bit platforms * Source/cmake/WebKitFeatures.cmake: JSTests: Add tests to ensure that the inferred inline capacity for a narrow op_new_object will be capped at 255. * stress/maximum-inline-capacity.js: Added. (test1): (test3.Foo): (test3): Source/JavaScriptCore: Replace unlinked and linked bytecode with a new immutable bytecode that does not embed any addresses. Instructions can be encoded as narrow (1-byte operands) or wide (4-byte operands) and might contain an extra operand, the metadataID. The metadataID is used to access the instruction's mutable data in a side table in the CodeBlock (the MetadataTable). Bytecodes now must be structs declared in the new BytecodeList.rb. All bytecodes give names and types to all its operands. Additionally, reading a bytecode from the instruction stream requires decoding the whole bytecode, i.e. it's no longer possible to access arbitrary operands directly from the stream. * CMakeLists.txt: * DerivedSources.make: * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * assembler/MacroAssemblerCodeRef.h: (JSC::ReturnAddressPtr::ReturnAddressPtr): (JSC::ReturnAddressPtr::value const): (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): (JSC::MacroAssemblerCodePtr::createFromExecutableAddress): * bytecode/ArithProfile.h: (JSC::ArithProfile::ArithProfile): * bytecode/ArrayAllocationProfile.h: (JSC::ArrayAllocationProfile::ArrayAllocationProfile): * bytecode/ArrayProfile.h: * bytecode/BytecodeBasicBlock.cpp: (JSC::isJumpTarget): (JSC::BytecodeBasicBlock::computeImpl): (JSC::BytecodeBasicBlock::compute): * bytecode/BytecodeBasicBlock.h: (JSC::BytecodeBasicBlock::leaderOffset const): (JSC::BytecodeBasicBlock::totalLength const): (JSC::BytecodeBasicBlock::offsets const): (JSC::BytecodeBasicBlock::BytecodeBasicBlock): (JSC::BytecodeBasicBlock::addLength): * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumper<Block>::printLocationAndOp): (JSC::BytecodeDumper<Block>::dumpBytecode): (JSC::BytecodeDumper<Block>::dumpIdentifiers): (JSC::BytecodeDumper<Block>::dumpConstants): (JSC::BytecodeDumper<Block>::dumpExceptionHandlers): (JSC::BytecodeDumper<Block>::dumpSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpStringSwitchJumpTables): (JSC::BytecodeDumper<Block>::dumpBlock): * bytecode/BytecodeDumper.h: (JSC::BytecodeDumper::dumpOperand): (JSC::BytecodeDumper::dumpValue): (JSC::BytecodeDumper::BytecodeDumper): (JSC::BytecodeDumper::block const): * bytecode/BytecodeGeneratorification.cpp: (JSC::BytecodeGeneratorification::BytecodeGeneratorification): (JSC::BytecodeGeneratorification::enterPoint const): (JSC::BytecodeGeneratorification::instructions const): (JSC::GeneratorLivenessAnalysis::run): (JSC::BytecodeGeneratorification::run): (JSC::performGeneratorification): * bytecode/BytecodeGeneratorification.h: * bytecode/BytecodeGraph.h: (JSC::BytecodeGraph::blockContainsBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockForBytecodeOffset): (JSC::BytecodeGraph::findBasicBlockWithLeaderOffset): (JSC::BytecodeGraph::BytecodeGraph): * bytecode/BytecodeKills.h: * bytecode/BytecodeList.json: Removed. * bytecode/BytecodeList.rb: Added. * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::BytecodeLivenessAnalysis::dumpResults): * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::isValidRegisterForLiveness): (JSC::BytecodeLivenessPropagation::stepOverInstruction): * bytecode/BytecodeRewriter.cpp: (JSC::BytecodeRewriter::applyModification): (JSC::BytecodeRewriter::execute): (JSC::BytecodeRewriter::adjustJumpTargetsInFragment): (JSC::BytecodeRewriter::insertImpl): (JSC::BytecodeRewriter::adjustJumpTarget): (JSC::BytecodeRewriter::adjustJumpTargets): * bytecode/BytecodeRewriter.h: (JSC::BytecodeRewriter::InsertionPoint::InsertionPoint): (JSC::BytecodeRewriter::Fragment::Fragment): (JSC::BytecodeRewriter::Fragment::appendInstruction): (JSC::BytecodeRewriter::BytecodeRewriter): (JSC::BytecodeRewriter::insertFragmentBefore): (JSC::BytecodeRewriter::insertFragmentAfter): (JSC::BytecodeRewriter::removeBytecode): (JSC::BytecodeRewriter::adjustAbsoluteOffset): (JSC::BytecodeRewriter::adjustJumpTarget): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFromLLInt): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::estimatedSize): (JSC::CodeBlock::visitChildren): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::addJITAddIC): (JSC::CodeBlock::addJITMulIC): (JSC::CodeBlock::addJITSubIC): (JSC::CodeBlock::addJITNegIC): (JSC::CodeBlock::stronglyVisitStrongReferences): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow): (JSC::CodeBlock::hasOpDebugForLineAndColumn): (JSC::CodeBlock::getArrayProfile): (JSC::CodeBlock::updateAllArrayPredictions): (JSC::CodeBlock::predictedMachineCodeSize): (JSC::CodeBlock::tryGetValueProfileForBytecodeOffset): (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset): (JSC::CodeBlock::valueProfileForBytecodeOffset): (JSC::CodeBlock::validate): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::outOfLineJumpTarget): (JSC::CodeBlock::arithProfileForBytecodeOffset): (JSC::CodeBlock::arithProfileForPC): (JSC::CodeBlock::couldTakeSpecialFastCase): (JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler): * bytecode/CodeBlock.h: (JSC::CodeBlock::addMathIC): (JSC::CodeBlock::outOfLineJumpOffset): (JSC::CodeBlock::bytecodeOffset): (JSC::CodeBlock::instructions const): (JSC::CodeBlock::instructionCount const): (JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters): (JSC::CodeBlock::metadata): (JSC::CodeBlock::metadataSizeInBytes): (JSC::CodeBlock::numberOfNonArgumentValueProfiles): (JSC::CodeBlock::totalNumberOfValueProfiles): * bytecode/CodeBlockInlines.h: Added. (JSC::CodeBlock::forEachValueProfile): (JSC::CodeBlock::forEachArrayProfile): (JSC::CodeBlock::forEachArrayAllocationProfile): (JSC::CodeBlock::forEachObjectAllocationProfile): (JSC::CodeBlock::forEachLLIntCallLinkInfo): * bytecode/Fits.h: Added. * bytecode/GetByIdMetadata.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFromLLInt): * bytecode/Instruction.h: (JSC::Instruction::Instruction): (JSC::Instruction::Impl::opcodeID const): (JSC::Instruction::opcodeID const): (JSC::Instruction::name const): (JSC::Instruction::isWide const): (JSC::Instruction::size const): (JSC::Instruction::is const): (JSC::Instruction::as const): (JSC::Instruction::cast): (JSC::Instruction::cast const): (JSC::Instruction::narrow const): (JSC::Instruction::wide const): * bytecode/InstructionStream.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::InstructionStream::InstructionStream): (JSC::InstructionStream::sizeInBytes const): * bytecode/InstructionStream.h: Added. (JSC::InstructionStream::BaseRef::BaseRef): (JSC::InstructionStream::BaseRef::operator=): (JSC::InstructionStream::BaseRef::operator-> const): (JSC::InstructionStream::BaseRef::ptr const): (JSC::InstructionStream::BaseRef::operator!= const): (JSC::InstructionStream::BaseRef::next const): (JSC::InstructionStream::BaseRef::offset const): (JSC::InstructionStream::BaseRef::isValid const): (JSC::InstructionStream::BaseRef::unwrap const): (JSC::InstructionStream::MutableRef::freeze const): (JSC::InstructionStream::MutableRef::operator->): (JSC::InstructionStream::MutableRef::ptr): (JSC::InstructionStream::MutableRef::operator Ref): (JSC::InstructionStream::MutableRef::unwrap): (JSC::InstructionStream::iterator::operator*): (JSC::InstructionStream::iterator::operator++): (JSC::InstructionStream::begin const): (JSC::InstructionStream::end const): (JSC::InstructionStream::at const): (JSC::InstructionStream::size const): (JSC::InstructionStreamWriter::InstructionStreamWriter): (JSC::InstructionStreamWriter::ref): (JSC::InstructionStreamWriter::seek): (JSC::InstructionStreamWriter::position): (JSC::InstructionStreamWriter::write): (JSC::InstructionStreamWriter::rewind): (JSC::InstructionStreamWriter::finalize): (JSC::InstructionStreamWriter::swap): (JSC::InstructionStreamWriter::iterator::operator*): (JSC::InstructionStreamWriter::iterator::operator++): (JSC::InstructionStreamWriter::begin): (JSC::InstructionStreamWriter::end): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::LLIntPrototypeLoadAdaptiveStructureWatchpoint): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::fireInternal): (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::clearLLIntGetByIdCache): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h: * bytecode/MetadataTable.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::MetadataTable::MetadataTable): (JSC::DeallocTable::withOpcodeType): (JSC::MetadataTable::~MetadataTable): (JSC::MetadataTable::sizeInBytes): * bytecode/MetadataTable.h: Copied from Source/JavaScriptCore/runtime/Watchdog.h. (JSC::MetadataTable::get): (JSC::MetadataTable::forEach): (JSC::MetadataTable::getImpl): * bytecode/Opcode.cpp: (JSC::metadataSize): * bytecode/Opcode.h: (JSC::padOpcodeName): * bytecode/OpcodeInlines.h: (JSC::isOpcodeShape): (JSC::getOpcodeType): * bytecode/OpcodeSize.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecode/PreciseJumpTargets.cpp: (JSC::getJumpTargetsForInstruction): (JSC::computePreciseJumpTargetsInternal): (JSC::computePreciseJumpTargets): (JSC::recomputePreciseJumpTargets): (JSC::findJumpTargetsForInstruction): * bytecode/PreciseJumpTargets.h: * bytecode/PreciseJumpTargetsInlines.h: (JSC::jumpTargetForInstruction): (JSC::extractStoredJumpTargetsForInstruction): (JSC::updateStoredJumpTargetsForInstruction): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): * bytecode/SpecialPointer.cpp: (WTF::printInternal): * bytecode/SpecialPointer.h: * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): (JSC::UnlinkedCodeBlock::visitChildren): (JSC::UnlinkedCodeBlock::estimatedSize): (JSC::UnlinkedCodeBlock::lineNumberForBytecodeOffset): (JSC::dumpLineColumnEntry): (JSC::UnlinkedCodeBlock::expressionRangeForBytecodeOffset const): (JSC::UnlinkedCodeBlock::setInstructions): (JSC::UnlinkedCodeBlock::instructions const): (JSC::UnlinkedCodeBlock::applyModification): (JSC::UnlinkedCodeBlock::addOutOfLineJumpTarget): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::addPropertyAccessInstruction): (JSC::UnlinkedCodeBlock::propertyAccessInstructions const): (JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset): (JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets const): (JSC::UnlinkedCodeBlock::metadata): (JSC::UnlinkedCodeBlock::metadataSizeInBytes): (JSC::UnlinkedCodeBlock::outOfLineJumpOffset): (JSC::UnlinkedCodeBlock::replaceOutOfLineJumpTargets): * bytecode/UnlinkedInstructionStream.cpp: Removed. * bytecode/UnlinkedInstructionStream.h: Removed. * bytecode/UnlinkedMetadataTable.h: Copied from Source/JavaScriptCore/bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.h. * bytecode/UnlinkedMetadataTableInlines.h: Added. (JSC::UnlinkedMetadataTable::UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::~UnlinkedMetadataTable): (JSC::UnlinkedMetadataTable::addEntry): (JSC::UnlinkedMetadataTable::sizeInBytes): (JSC::UnlinkedMetadataTable::finalize): (JSC::UnlinkedMetadataTable::link): (JSC::UnlinkedMetadataTable::unlink): * bytecode/VirtualRegister.cpp: (JSC::VirtualRegister::VirtualRegister): * bytecode/VirtualRegister.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::Label::setLocation): (JSC::Label::bind): (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeVarLexicalEnvironment): (JSC::BytecodeGenerator::emitEnter): (JSC::BytecodeGenerator::emitLoopHint): (JSC::BytecodeGenerator::emitJump): (JSC::BytecodeGenerator::emitCheckTraps): (JSC::BytecodeGenerator::rewind): (JSC::BytecodeGenerator::fuseCompareAndJump): (JSC::BytecodeGenerator::fuseTestAndJmp): (JSC::BytecodeGenerator::emitJumpIfTrue): (JSC::BytecodeGenerator::emitJumpIfFalse): (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall): (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply): (JSC::BytecodeGenerator::moveLinkTimeConstant): (JSC::BytecodeGenerator::moveEmptyValue): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::emitBinaryOp): (JSC::BytecodeGenerator::emitToObject): (JSC::BytecodeGenerator::emitToNumber): (JSC::BytecodeGenerator::emitToString): (JSC::BytecodeGenerator::emitTypeOf): (JSC::BytecodeGenerator::emitInc): (JSC::BytecodeGenerator::emitDec): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::emitProfileType): (JSC::BytecodeGenerator::emitProfileControlFlow): (JSC::BytecodeGenerator::pushLexicalScopeInternal): (JSC::BytecodeGenerator::emitResolveScopeForHoistingFuncDeclInEval): (JSC::BytecodeGenerator::prepareLexicalScopeForNextForLoopIteration): (JSC::BytecodeGenerator::emitOverridesHasInstance): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitInstanceOfCustom): (JSC::BytecodeGenerator::emitInByVal): (JSC::BytecodeGenerator::emitInById): (JSC::BytecodeGenerator::emitTryGetById): (JSC::BytecodeGenerator::emitGetById): (JSC::BytecodeGenerator::emitDirectGetById): (JSC::BytecodeGenerator::emitPutById): (JSC::BytecodeGenerator::emitDirectPutById): (JSC::BytecodeGenerator::emitPutGetterById): (JSC::BytecodeGenerator::emitPutSetterById): (JSC::BytecodeGenerator::emitPutGetterSetter): (JSC::BytecodeGenerator::emitPutGetterByVal): (JSC::BytecodeGenerator::emitPutSetterByVal): (JSC::BytecodeGenerator::emitDeleteById): (JSC::BytecodeGenerator::emitGetByVal): (JSC::BytecodeGenerator::emitPutByVal): (JSC::BytecodeGenerator::emitDirectPutByVal): (JSC::BytecodeGenerator::emitDeleteByVal): (JSC::BytecodeGenerator::emitSuperSamplerBegin): (JSC::BytecodeGenerator::emitSuperSamplerEnd): (JSC::BytecodeGenerator::emitIdWithProfile): (JSC::BytecodeGenerator::emitUnreachable): (JSC::BytecodeGenerator::emitGetArgument): (JSC::BytecodeGenerator::emitCreateThis): (JSC::BytecodeGenerator::emitTDZCheck): (JSC::BytecodeGenerator::emitNewObject): (JSC::BytecodeGenerator::emitNewArrayBuffer): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewArrayWithSpread): (JSC::BytecodeGenerator::emitNewArrayWithSize): (JSC::BytecodeGenerator::emitNewRegExp): (JSC::BytecodeGenerator::emitNewFunctionExpressionCommon): (JSC::BytecodeGenerator::emitNewDefaultConstructor): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitSetFunctionNameIfNeeded): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitCallInTailPosition): (JSC::BytecodeGenerator::emitCallEval): (JSC::BytecodeGenerator::emitExpectedFunctionSnippet): (JSC::BytecodeGenerator::emitCallVarargs): (JSC::BytecodeGenerator::emitCallVarargsInTailPosition): (JSC::BytecodeGenerator::emitConstructVarargs): (JSC::BytecodeGenerator::emitCallForwardArgumentsInTailPosition): (JSC::BytecodeGenerator::emitLogShadowChickenPrologueIfNecessary): (JSC::BytecodeGenerator::emitLogShadowChickenTailIfNecessary): (JSC::BytecodeGenerator::emitCallDefineProperty): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitEnd): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::emitStrcat): (JSC::BytecodeGenerator::emitToPrimitive): (JSC::BytecodeGenerator::emitGetScope): (JSC::BytecodeGenerator::emitPushWithScope): (JSC::BytecodeGenerator::emitGetParentScope): (JSC::BytecodeGenerator::emitDebugHook): (JSC::BytecodeGenerator::emitCatch): (JSC::BytecodeGenerator::emitThrow): (JSC::BytecodeGenerator::emitArgumentCount): (JSC::BytecodeGenerator::emitThrowStaticError): (JSC::BytecodeGenerator::beginSwitch): (JSC::prepareJumpTableForSwitch): (JSC::prepareJumpTableForStringSwitch): (JSC::BytecodeGenerator::endSwitch): (JSC::BytecodeGenerator::emitGetEnumerableLength): (JSC::BytecodeGenerator::emitHasGenericProperty): (JSC::BytecodeGenerator::emitHasIndexedProperty): (JSC::BytecodeGenerator::emitHasStructureProperty): (JSC::BytecodeGenerator::emitGetPropertyEnumerator): (JSC::BytecodeGenerator::emitEnumeratorStructurePropertyName): (JSC::BytecodeGenerator::emitEnumeratorGenericPropertyName): (JSC::BytecodeGenerator::emitToIndexString): (JSC::BytecodeGenerator::emitIsCellWithType): (JSC::BytecodeGenerator::emitIsObject): (JSC::BytecodeGenerator::emitIsNumber): (JSC::BytecodeGenerator::emitIsUndefined): (JSC::BytecodeGenerator::emitIsEmpty): (JSC::BytecodeGenerator::emitRestParameter): (JSC::BytecodeGenerator::emitRequireObjectCoercible): (JSC::BytecodeGenerator::emitYieldPoint): (JSC::BytecodeGenerator::emitYield): (JSC::BytecodeGenerator::emitGetAsyncIterator): (JSC::BytecodeGenerator::emitDelegateYield): (JSC::BytecodeGenerator::emitFinallyCompletion): (JSC::BytecodeGenerator::emitJumpIf): (JSC::ForInContext::finalize): (JSC::StructureForInContext::finalize): (JSC::IndexedForInContext::finalize): (JSC::StaticPropertyAnalysis::record): (JSC::BytecodeGenerator::emitToThis): * bytecompiler/BytecodeGenerator.h: (JSC::StructureForInContext::addGetInst): (JSC::BytecodeGenerator::recordOpcode): (JSC::BytecodeGenerator::addMetadataFor): (JSC::BytecodeGenerator::emitUnaryOp): (JSC::BytecodeGenerator::kill): (JSC::BytecodeGenerator::instructions const): (JSC::BytecodeGenerator::write): (JSC::BytecodeGenerator::withWriter): * bytecompiler/Label.h: (JSC::Label::Label): (JSC::Label::bind): * bytecompiler/NodesCodegen.cpp: (JSC::ArrayNode::emitBytecode): (JSC::BytecodeIntrinsicNode::emit_intrinsic_argumentCount): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::BitwiseNotNode::emitBytecode): (JSC::BinaryOpNode::emitBytecode): (JSC::EqualNode::emitBytecode): (JSC::StrictEqualNode::emitBytecode): (JSC::emitReadModifyAssignment): (JSC::ForInNode::emitBytecode): (JSC::CaseBlockNode::emitBytecodeForBlock): (JSC::FunctionNode::emitBytecode): (JSC::ClassExprNode::emitBytecode): * bytecompiler/ProfileTypeBytecodeFlag.cpp: Copied from Source/JavaScriptCore/bytecode/VirtualRegister.cpp. (WTF::printInternal): * bytecompiler/ProfileTypeBytecodeFlag.h: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. * bytecompiler/RegisterID.h: * bytecompiler/StaticPropertyAnalysis.h: (JSC::StaticPropertyAnalysis::create): (JSC::StaticPropertyAnalysis::StaticPropertyAnalysis): * bytecompiler/StaticPropertyAnalyzer.h: (JSC::StaticPropertyAnalyzer::createThis): (JSC::StaticPropertyAnalyzer::newObject): (JSC::StaticPropertyAnalyzer::putById): (JSC::StaticPropertyAnalyzer::mov): (JSC::StaticPropertyAnalyzer::kill): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::addCall): (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit): (JSC::DFG::ByteCodeParser::getArrayMode): (JSC::DFG::ByteCodeParser::handleCall): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::handleRecursiveTailCall): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::handleCallVariant): (JSC::DFG::ByteCodeParser::handleVarargsInlining): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::handleMinMax): (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleDOMJITCall): (JSC::DFG::ByteCodeParser::handleIntrinsicGetter): (JSC::DFG::ByteCodeParser::handleDOMJITGetter): (JSC::DFG::ByteCodeParser::handleModuleNamespaceLoad): (JSC::DFG::ByteCodeParser::handleTypedArrayConstructor): (JSC::DFG::ByteCodeParser::handleConstantInternalFunction): (JSC::DFG::ByteCodeParser::handleGetById): (JSC::DFG::ByteCodeParser::handlePutById): (JSC::DFG::ByteCodeParser::parseGetById): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::parseCodeBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): (JSC::DFG::ByteCodeParser::handlePutAccessorById): (JSC::DFG::ByteCodeParser::handlePutAccessorByVal): (JSC::DFG::ByteCodeParser::handleNewFunc): (JSC::DFG::ByteCodeParser::handleNewFuncExp): (JSC::DFG::ByteCodeParser::parse): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGCapabilities.h: (JSC::DFG::capabilityLevel): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareCatchOSREntry): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileValueNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileArithAddOrSub): (JSC::FTL::DFG::LowerDFGToB3::compileArithMul): (JSC::FTL::DFG::LowerDFGToB3::compileValueNegate): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generate-bytecode-files: Removed. * generator/Argument.rb: Added. * generator/Assertion.rb: Added. * generator/DSL.rb: Added. * generator/Fits.rb: Added. * generator/GeneratedFile.rb: Added. * generator/Metadata.rb: Added. * generator/Opcode.rb: Added. * generator/OpcodeGroup.rb: Added. * generator/Options.rb: Added. * generator/Section.rb: Added. * generator/Template.rb: Added. * generator/Type.rb: Added. * generator/main.rb: Added. * interpreter/AbstractPC.h: * interpreter/CallFrame.cpp: (JSC::CallFrame::currentVPC const): (JSC::CallFrame::setCurrentVPC): * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::ExecState::setReturnPC): * interpreter/Interpreter.cpp: (WTF::printInternal): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::dump const): * interpreter/VMEntryRecord.h: * jit/JIT.cpp: (JSC::JIT::JIT): (JSC::JIT::emitSlowCaseCall): (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): (JSC::JIT::compileWithoutLinking): (JSC::JIT::link): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_op_jless): (JSC::JIT::emit_op_jlesseq): (JSC::JIT::emit_op_jgreater): (JSC::JIT::emit_op_jgreatereq): (JSC::JIT::emit_op_jnless): (JSC::JIT::emit_op_jnlesseq): (JSC::JIT::emit_op_jngreater): (JSC::JIT::emit_op_jngreatereq): (JSC::JIT::emitSlow_op_jless): (JSC::JIT::emitSlow_op_jlesseq): (JSC::JIT::emitSlow_op_jgreater): (JSC::JIT::emitSlow_op_jgreatereq): (JSC::JIT::emitSlow_op_jnless): (JSC::JIT::emitSlow_op_jnlesseq): (JSC::JIT::emitSlow_op_jngreater): (JSC::JIT::emitSlow_op_jngreatereq): (JSC::JIT::emit_op_below): (JSC::JIT::emit_op_beloweq): (JSC::JIT::emit_op_jbelow): (JSC::JIT::emit_op_jbeloweq): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emit_op_mod): (JSC::JIT::emitSlow_op_mod): (JSC::JIT::emit_op_negate): (JSC::JIT::emitSlow_op_negate): (JSC::JIT::emitBitBinaryOpFastPath): (JSC::JIT::emit_op_bitand): (JSC::JIT::emit_op_bitor): (JSC::JIT::emit_op_bitxor): (JSC::JIT::emit_op_lshift): (JSC::JIT::emitRightShiftFastPath): (JSC::JIT::emit_op_rshift): (JSC::JIT::emit_op_urshift): (JSC::getOperandTypes): (JSC::JIT::emit_op_add): (JSC::JIT::emitSlow_op_add): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): (JSC::JIT::emit_op_div): (JSC::JIT::emit_op_mul): (JSC::JIT::emitSlow_op_mul): (JSC::JIT::emit_op_sub): (JSC::JIT::emitSlow_op_sub): * jit/JITCall.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileTailCall): (JSC::JIT::compileOpCall): (JSC::JIT::compileOpCallSlowCase): (JSC::JIT::emit_op_call): (JSC::JIT::emit_op_tail_call): (JSC::JIT::emit_op_call_eval): (JSC::JIT::emit_op_call_varargs): (JSC::JIT::emit_op_tail_call_varargs): (JSC::JIT::emit_op_tail_call_forward_arguments): (JSC::JIT::emit_op_construct_varargs): (JSC::JIT::emit_op_construct): (JSC::JIT::emitSlow_op_call): (JSC::JIT::emitSlow_op_tail_call): (JSC::JIT::emitSlow_op_call_eval): (JSC::JIT::emitSlow_op_call_varargs): (JSC::JIT::emitSlow_op_tail_call_varargs): (JSC::JIT::emitSlow_op_tail_call_forward_arguments): (JSC::JIT::emitSlow_op_construct_varargs): (JSC::JIT::emitSlow_op_construct): * jit/JITDisassembler.cpp: (JSC::JITDisassembler::JITDisassembler): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITInlines.h: (JSC::JIT::emitDoubleGetByVal): (JSC::JIT::emitLoadForArrayMode): (JSC::JIT::emitContiguousGetByVal): (JSC::JIT::emitArrayStorageGetByVal): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile): (JSC::JIT::sampleInstruction): (JSC::JIT::emitValueProfilingSiteIfProfiledOpcode): (JSC::JIT::emitValueProfilingSite): (JSC::JIT::jumpTarget): (JSC::JIT::copiedGetPutInfo): (JSC::JIT::copiedArithProfile): * jit/JITMathIC.h: (JSC::isProfileEmpty): (JSC::JITBinaryMathIC::JITBinaryMathIC): (JSC::JITUnaryMathIC::JITUnaryMathIC): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_instanceof_custom): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_ret): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emit_op_throw): (JSC::JIT::compileOpStrictEq): (JSC::JIT::emit_op_stricteq): (JSC::JIT::emit_op_nstricteq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_jstricteq): (JSC::JIT::emit_op_jnstricteq): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_identity_with_profile): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_loop_hint): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emit_op_check_traps): (JSC::JIT::emit_op_nop): (JSC::JIT::emit_op_super_sampler_begin): (JSC::JIT::emit_op_super_sampler_end): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_new_generator_func): (JSC::JIT::emit_op_new_async_generator_func): (JSC::JIT::emit_op_new_async_func): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_func_exp): (JSC::JIT::emit_op_new_generator_func_exp): (JSC::JIT::emit_op_new_async_func_exp): (JSC::JIT::emit_op_new_async_generator_func_exp): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::privateCompileHasIndexedProperty): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): (JSC::JIT::emit_op_profile_control_flow): (JSC::JIT::emit_op_argument_count): (JSC::JIT::emit_op_get_rest_length): (JSC::JIT::emit_op_get_argument): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_to_this): * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val_direct): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByVal): (JSC::JIT::privateCompilePutByValWithCachedId): (JSC::JIT::emitDoubleLoad): (JSC::JIT::emitContiguousLoad): (JSC::JIT::emitArrayStorageLoad): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): (JSC::JIT::emitIntTypedArrayGetByVal): (JSC::JIT::emitFloatTypedArrayGetByVal): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal): * jit/RegisterSet.cpp: (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): * jit/SlowPathCall.h: (JSC::JITSlowPathCall::JITSlowPathCall): * llint/LLIntData.cpp: (JSC::LLInt::initialize): (JSC::LLInt::Data::performAssertions): * llint/LLIntData.h: (JSC::LLInt::exceptionInstructions): (JSC::LLInt::opcodeMap): (JSC::LLInt::opcodeMapWide): (JSC::LLInt::getOpcode): (JSC::LLInt::getOpcodeWide): (JSC::LLInt::getWideCodePtr): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator const Instruction*): (JSC::CLoop::execute): * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * offlineasm/arm64.rb: * offlineasm/asm.rb: * offlineasm/ast.rb: * offlineasm/cloop.rb: * offlineasm/generate_offset_extractor.rb: * offlineasm/instructions.rb: * offlineasm/offsets.rb: * offlineasm/parser.rb: * offlineasm/transform.rb: * offlineasm/x86.rb: * parser/ResultType.h: (JSC::ResultType::dump const): (JSC::OperandTypes::first const): (JSC::OperandTypes::second const): (JSC::OperandTypes::dump const): * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::BytecodeSequence): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): (JSC::updateArithProfileForUnaryArithOp): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/GetPutInfo.cpp: Copied from Source/JavaScriptCore/bytecode/SpecialPointer.cpp. (JSC::GetPutInfo::dump const): (WTF::printInternal): * runtime/GetPutInfo.h: (JSC::GetPutInfo::operand const): * runtime/JSCPoison.h: * runtime/JSType.cpp: Added. (WTF::printInternal): * runtime/JSType.h: * runtime/SamplingProfiler.cpp: (JSC::SamplingProfiler::StackFrame::displayName): * runtime/SamplingProfiler.h: (JSC::SamplingProfiler::UnprocessedStackFrame::UnprocessedStackFrame): * runtime/SlowPathReturnType.h: (JSC::encodeResult): (JSC::decodeResult): * runtime/VM.h: * runtime/Watchdog.h: * tools/HeapVerifier.cpp: Source/WTF: * wtf/Forward.h: Fix WTF_LAZY_FOR_EACH_TERM on MSVC and add WTF_LAZY_HAS_REST to check whether a macro was passed multiple arguments * wtf/Platform.h: Force ENABLE_JIT=false on all 32-bit platforms * wtf/Vector.h: (WTF::minCapacity>::insertVector): Allow vectors with different overflow handlers to be passed to insertVector Tools: Do not force ENABLE_JIT=true when $forceCLoop is false. * Scripts/build-jsc: LayoutTests: Don't use recursion on `equal` to avoid premature stack overflows when testing deep arrays. * fast/dom/Window/resources/postmessage-test.js: Canonical link: https://commits.webkit.org/205839@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237547 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-29 13:16:03 +00:00
auto newArrayBuffer = currentInstruction->as<OpNewArrayBuffer>();
Refactor new bytecode structs so that the fields are prefixed with "m_". https://bugs.webkit.org/show_bug.cgi?id=193467 Reviewed by Saam Barati and Tadeu Zagallo. This makes it easier to do a manual audit of type correctness of the LLInt instructions used to access these fields. Without this change, it would be difficult (and error prone) to distinguish the difference between field names and macro variables. This audit will be done after this patch lands. * bytecode/BytecodeGeneratorification.cpp: (JSC::BytecodeGeneratorification::BytecodeGeneratorification): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): * bytecode/CallLinkStatus.cpp: (JSC::CallLinkStatus::computeFromLLInt): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::propagateTransitions): (JSC::CodeBlock::finalizeLLIntInlineCaches): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffset): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeOffsetSlow): (JSC::CodeBlock::getArrayProfile): (JSC::CodeBlock::notifyLexicalBindingShadowing): (JSC::CodeBlock::tryGetValueProfileForBytecodeOffset): (JSC::CodeBlock::arithProfileForPC): (JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler): * bytecode/CodeBlockInlines.h: (JSC::CodeBlock::forEachValueProfile): (JSC::CodeBlock::forEachArrayProfile): (JSC::CodeBlock::forEachArrayAllocationProfile): (JSC::CodeBlock::forEachObjectAllocationProfile): (JSC::CodeBlock::forEachLLIntCallLinkInfo): * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeFromLLInt): * bytecode/LLIntPrototypeLoadAdaptiveStructureWatchpoint.cpp: (JSC::LLIntPrototypeLoadAdaptiveStructureWatchpoint::clearLLIntGetByIdCache): * bytecode/PreciseJumpTargetsInlines.h: (JSC::jumpTargetForInstruction): (JSC::extractStoredJumpTargetsForInstruction): (JSC::updateStoredJumpTargetsForInstruction): * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFromLLInt): * bytecode/UnlinkedCodeBlock.cpp: (JSC::dumpLineColumnEntry): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::fuseCompareAndJump): (JSC::BytecodeGenerator::fuseTestAndJmp): (JSC::BytecodeGenerator::emitEqualityOp): (JSC::BytecodeGenerator::endSwitch): (JSC::StructureForInContext::finalize): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleCall): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::parseGetById): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::handlePutByVal): (JSC::DFG::ByteCodeParser::handlePutAccessorById): (JSC::DFG::ByteCodeParser::handlePutAccessorByVal): (JSC::DFG::ByteCodeParser::handleNewFunc): (JSC::DFG::ByteCodeParser::handleNewFuncExp): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareCatchOSREntry): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generator/Argument.rb: * generator/Metadata.rb: * generator/Opcode.rb: * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emit_op_mod): (JSC::JIT::emit_op_negate): (JSC::JIT::emitBitBinaryOpFastPath): (JSC::JIT::emit_op_bitnot): (JSC::JIT::emitRightShiftFastPath): (JSC::JIT::emit_op_add): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): (JSC::JIT::emit_op_div): (JSC::JIT::emit_op_mul): (JSC::JIT::emit_op_sub): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emitBinaryDoubleOp): (JSC::JIT::emit_op_mod): * jit/JITCall.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileTailCall): (JSC::JIT::compileOpCall): * jit/JITCall32_64.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::emit_op_ret): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCall): * jit/JITInlines.h: (JSC::JIT::emitValueProfilingSiteIfProfiledOpcode): (JSC::JIT::emitValueProfilingSite): (JSC::JIT::copiedGetPutInfo): (JSC::JIT::copiedArithProfile): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_undefined_or_null): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_ret): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emit_op_throw): (JSC::JIT::compileOpStrictEq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): (JSC::JIT::emit_op_profile_control_flow): (JSC::JIT::emit_op_argument_count): (JSC::JIT::emit_op_get_rest_length): (JSC::JIT::emit_op_get_argument): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_jmp): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_undefined_or_null): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emit_op_neq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::compileOpStrictEq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_throw): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): * jit/JITOperations.cpp: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): (JSC::updateArithProfileForUnaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): Canonical link: https://commits.webkit.org/208004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240041 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-01-16 18:44:25 +00:00
ArrayAllocationProfile* profile = &newArrayBuffer.metadata(codeBlock).m_arrayAllocationProfile;
// FIXME: Share the code with CommonSlowPaths. Currently, codeBlock etc. are slightly different.
IndexingType indexingMode = profile->selectIndexingType();
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
Structure* structure = globalObject->arrayStructureForIndexingTypeDuringAllocation(indexingMode);
ASSERT(isCopyOnWrite(indexingMode));
We should have a CoW storage for NewArrayBuffer arrays. https://bugs.webkit.org/show_bug.cgi?id=185003 Reviewed by Filip Pizlo. JSTests: * stress/cow-convert-contiguous-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-double-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-double-to-contiguous.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-array-storage.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-contiguous.js: Added. (createBuffer): (shouldBe): (test): * stress/cow-convert-int32-to-double.js: Added. (createBuffer): (shouldBe): (test): * stress/put-on-cow-prototype.js: Added. (putByVal): (putById): Source/JavaScriptCore: This patch adds copy on write storage for new array buffers. In order to do this there needed to be significant changes to the layout of IndexingType. The new indexing type has the following shape: struct IndexingTypeAndMisc { struct IndexingModeIncludingHistory { struct IndexingMode { struct IndexingType { uint8_t isArray:1; // bit 0 uint8_t shape:3; // bit 1 - 3 }; uint8_t copyOnWrite:1; // bit 4 }; uint8_t mayHaveIndexedAccessors:1; // bit 5 }; uint8_t cellLockBits:2; // bit 6 - 7 }; For simplicity ArrayStorage shapes cannot be CoW. So the only valid CoW indexing shapes are ArrayWithInt32, ArrayWithDouble, and ArrayWithContiguous. The backing store for a CoW array is a new class JSImmutableButterfly, which looks exactly the same as a normal butterfly except that it has a JSCell header. Like other butterflies, JSImmutableButterfies are allocated out of the Auxiliary Gigacage and are pointed to by JSCells in the same way. However, when marking JSImmutableButterflies they are marked as if they were a property. With CoW arrays, the new_array_buffer bytecode will reallocate the shared JSImmutableButterfly if it sees from the allocation profile that the last array it allocated has transitioned to a different indexing type. From then on, all arrays created by that new_array_buffer bytecode will have the promoted indexing type. This is more or less the same as what we used to do. The only difference is that we don't promote all the way to array storage even if we have seen it before. Transitioning from a CoW indexing mode occurs whenever someone tries to store to an element, grow the array, or add properties. Storing or growing the array will call into code that does the stupid thing of copying the butterfly then continue into the old code. This doesn't end up costing us as future allocations will use any upgraded indexing shape. We get adding properties for free by just changing the indexing mode on transition (our C++ code always updates the indexing mode). * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecode/ArrayAllocationProfile.cpp: (JSC::ArrayAllocationProfile::updateProfile): * bytecode/ArrayAllocationProfile.h: (JSC::ArrayAllocationProfile::initializeIndexingMode): * bytecode/ArrayProfile.cpp: (JSC::dumpArrayModes): (JSC::ArrayProfile::briefDescriptionWithoutUpdating): * bytecode/ArrayProfile.h: (JSC::asArrayModes): (JSC::arrayModeFromStructure): (JSC::arrayModesInclude): (JSC::hasSeenCopyOnWriteArray): * bytecode/BytecodeList.json: * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * bytecode/InlineAccess.cpp: (JSC::InlineAccess::generateArrayLength): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::addArrayAllocationProfile): (JSC::UnlinkedCodeBlock::decompressArrayAllocationProfile): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::newArrayAllocationProfile): (JSC::BytecodeGenerator::emitNewArrayBuffer): (JSC::BytecodeGenerator::emitNewArray): (JSC::BytecodeGenerator::emitNewArrayWithSize): (JSC::BytecodeGenerator::emitExpectedFunctionSnippet): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ArrayNode::emitBytecode): (JSC::ArrayPatternNode::bindValue const): (JSC::ArrayPatternNode::emitDirectBinding): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::fromObserved): (JSC::DFG::ArrayMode::refine const): (JSC::DFG::ArrayMode::alreadyChecked const): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::ArrayMode): (JSC::DFG::ArrayMode::action const): (JSC::DFG::ArrayMode::withSpeculation const): (JSC::DFG::ArrayMode::withArrayClass const): (JSC::DFG::ArrayMode::withType const): (JSC::DFG::ArrayMode::withConversion const): (JSC::DFG::ArrayMode::withTypeAndConversion const): (JSC::DFG::ArrayMode::arrayModesThatPassFiltering const): (JSC::DFG::ArrayMode::arrayModesWithIndexingShape const): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::handleIntrinsicCall): (JSC::DFG::ByteCodeParser::handleIntrinsicGetter): (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): (JSC::DFG::FixupPhase::attemptToForceStringArrayModeByToStringConversion): (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGNode.h: (JSC::DFG::Node::indexingType): (JSC::DFG::Node::indexingMode): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::compileExit): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateRawObject): (JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode): (JSC::DFG::SpeculativeJIT::arrayify): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compilePutStructure): (JSC::FTL::DFG::LowerDFGToB3::compileArraySlice): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::storeStructure): (JSC::FTL::DFG::LowerDFGToB3::isArrayTypeForArrayify): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * generate-bytecode-files: * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/JITOperations.cpp: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitSlow_op_put_by_val): * jit/Repatch.cpp: (JSC::tryCachePutByID): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * runtime/Butterfly.h: (JSC::ContiguousData::Data::Data): (JSC::ContiguousData::Data::operator bool const): (JSC::ContiguousData::Data::operator=): (JSC::ContiguousData::Data::operator const T& const): (JSC::ContiguousData::Data::set): (JSC::ContiguousData::Data::setWithoutWriteBarrier): (JSC::ContiguousData::Data::clear): (JSC::ContiguousData::Data::get const): (JSC::ContiguousData::atUnsafe): (JSC::ContiguousData::at const): Deleted. (JSC::ContiguousData::at): Deleted. * runtime/ButterflyInlines.h: (JSC::ContiguousData<T>::at const): (JSC::ContiguousData<T>::at): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::allocateNewArrayBuffer): * runtime/IndexingType.cpp: (JSC::leastUpperBoundOfIndexingTypeAndType): (JSC::leastUpperBoundOfIndexingTypeAndValue): (JSC::dumpIndexingType): * runtime/IndexingType.h: (JSC::hasIndexedProperties): (JSC::hasUndecided): (JSC::hasInt32): (JSC::hasDouble): (JSC::hasContiguous): (JSC::hasArrayStorage): (JSC::hasAnyArrayStorage): (JSC::hasSlowPutArrayStorage): (JSC::shouldUseSlowPut): (JSC::isCopyOnWrite): (JSC::arrayIndexFromIndexingType): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::put): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): * runtime/JSArrayInlines.h: (JSC::JSArray::pushInline): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::JSCell): (JSC::JSCell::finishCreation): (JSC::JSCell::indexingType const): (JSC::JSCell::indexingMode const): (JSC::JSCell::setStructure): * runtime/JSFixedArray.h: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::haveABadTime): (JSC::JSGlobalObject::visitChildren): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::originalArrayStructureForIndexingType const): (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::JSGlobalObject::isOriginalArrayStructure): * runtime/JSImmutableButterfly.cpp: Added. (JSC::JSImmutableButterfly::visitChildren): (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: Added. (JSC::JSImmutableButterfly::createStructure): (JSC::JSImmutableButterfly::tryCreate): (JSC::JSImmutableButterfly::create): (JSC::JSImmutableButterfly::publicLength const): (JSC::JSImmutableButterfly::vectorLength const): (JSC::JSImmutableButterfly::length const): (JSC::JSImmutableButterfly::toButterfly const): (JSC::JSImmutableButterfly::fromButterfly): (JSC::JSImmutableButterfly::get const): (JSC::JSImmutableButterfly::subspaceFor): (JSC::JSImmutableButterfly::setIndex): (JSC::JSImmutableButterfly::allocationSize): (JSC::JSImmutableButterfly::JSImmutableButterfly): * runtime/JSObject.cpp: (JSC::JSObject::markAuxiliaryAndVisitOutOfLineProperties): (JSC::JSObject::visitButterflyImpl): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::JSObject::putByIndex): (JSC::JSObject::createInitialInt32): (JSC::JSObject::createInitialDouble): (JSC::JSObject::createInitialContiguous): (JSC::JSObject::convertUndecidedToInt32): (JSC::JSObject::convertUndecidedToDouble): (JSC::JSObject::convertUndecidedToContiguous): (JSC::JSObject::convertInt32ToDouble): (JSC::JSObject::convertInt32ToArrayStorage): (JSC::JSObject::convertDoubleToContiguous): (JSC::JSObject::convertDoubleToArrayStorage): (JSC::JSObject::convertContiguousToArrayStorage): (JSC::JSObject::createInitialForValueAndSet): (JSC::JSObject::convertInt32ForValue): (JSC::JSObject::convertFromCopyOnWrite): (JSC::JSObject::ensureWritableInt32Slow): (JSC::JSObject::ensureWritableDoubleSlow): (JSC::JSObject::ensureWritableContiguousSlow): (JSC::JSObject::ensureArrayStorageSlow): (JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode): (JSC::JSObject::switchToSlowPutArrayStorage): (JSC::JSObject::deletePropertyByIndex): (JSC::JSObject::getOwnPropertyNames): (JSC::canDoFastPutDirectIndex): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::countElements): (JSC::JSObject::ensureLengthSlow): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::ensureInt32Slow): Deleted. (JSC::JSObject::ensureDoubleSlow): Deleted. (JSC::JSObject::ensureContiguousSlow): Deleted. * runtime/JSObject.h: (JSC::JSObject::putDirectIndex): (JSC::JSObject::canGetIndexQuickly): (JSC::JSObject::getIndexQuickly): (JSC::JSObject::tryGetIndexQuickly const): (JSC::JSObject::canSetIndexQuickly): (JSC::JSObject::setIndexQuickly): (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): (JSC::JSObject::ensureWritableInt32): (JSC::JSObject::ensureWritableDouble): (JSC::JSObject::ensureWritableContiguous): (JSC::JSObject::ensureLength): (JSC::JSObject::ensureInt32): Deleted. (JSC::JSObject::ensureDouble): Deleted. (JSC::JSObject::ensureContiguous): Deleted. * runtime/JSObjectInlines.h: (JSC::JSObject::putDirectInternal): * runtime/JSType.h: * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): * runtime/Structure.cpp: (JSC::Structure::Structure): (JSC::Structure::addNewPropertyTransition): (JSC::Structure::nonPropertyTransition): * runtime/Structure.h: * runtime/StructureIDBlob.h: (JSC::StructureIDBlob::StructureIDBlob): (JSC::StructureIDBlob::indexingModeIncludingHistory const): (JSC::StructureIDBlob::setIndexingModeIncludingHistory): (JSC::StructureIDBlob::indexingModeIncludingHistoryOffset): (JSC::StructureIDBlob::indexingTypeIncludingHistory const): Deleted. (JSC::StructureIDBlob::setIndexingTypeIncludingHistory): Deleted. (JSC::StructureIDBlob::indexingTypeIncludingHistoryOffset): Deleted. * runtime/StructureTransitionTable.h: (JSC::newIndexingType): * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WebCore: * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convertArray): LayoutTests: Test should have a real error that gives you the stack. * js/slow-stress/script-tests/variadic-closure-call.js: Canonical link: https://commits.webkit.org/201321@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-05-22 18:04:31 +00:00
ASSERT(!structure->outOfLineCapacity());
if (UNLIKELY(immutableButterfly->indexingMode() != indexingMode)) {
auto* newButterfly = JSImmutableButterfly::create(vm, indexingMode, immutableButterfly->length());
for (unsigned i = 0; i < immutableButterfly->length(); ++i)
newButterfly->setIndex(vm, i, immutableButterfly->get(i));
immutableButterfly = newButterfly;
// FIXME: This is kinda gross and only works because we can't inline new_array_bufffer in the baseline.
// We also cannot allocate a new butterfly from compilation threads since it's invalid to allocate cells from
// a compilation thread.
WTF::storeStoreFence();
Reland bytecode checkpoints since bugs have been fixed https://bugs.webkit.org/show_bug.cgi?id=206361 Unreviewed, reland. The watch bugs have been fixed by https://trac.webkit.org/changeset/254674 JSTests: * stress/apply-osr-exit-should-get-length-once-exceptions-occasionally.js: Added. (expectedArgCount): (callee): (test): (let.array.get length): * stress/apply-osr-exit-should-get-length-once.js: Added. (expectedArgCount): (callee): (test): (let.array.get length): * stress/load-varargs-then-inlined-call-and-exit-strict.js: (checkEqual): * stress/recursive-tail-call-with-different-argument-count.js: * stress/rest-varargs-osr-exit-to-checkpoint.js: Added. (foo): (bar): Source/JavaScriptCore: * CMakeLists.txt: * DerivedSources-input.xcfilelist: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/MacroAssemblerCodeRef.h: * assembler/ProbeFrame.h: (JSC::Probe::Frame::operand): (JSC::Probe::Frame::setOperand): * b3/testb3.h: (populateWithInterestingValues): (floatingPointOperands): * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/BytecodeDumper.cpp: (JSC::BytecodeDumperBase::dumpValue): (JSC::BytecodeDumper<Block>::registerName const): (JSC::BytecodeDumper<Block>::constantName const): (JSC::Wasm::BytecodeDumper::constantName const): * bytecode/BytecodeDumper.h: * bytecode/BytecodeIndex.cpp: (JSC::BytecodeIndex::dump const): * bytecode/BytecodeIndex.h: (JSC::BytecodeIndex::BytecodeIndex): (JSC::BytecodeIndex::offset const): (JSC::BytecodeIndex::checkpoint const): (JSC::BytecodeIndex::asBits const): (JSC::BytecodeIndex::hash const): (JSC::BytecodeIndex::operator bool const): (JSC::BytecodeIndex::pack): (JSC::BytecodeIndex::fromBits): * bytecode/BytecodeList.rb: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::enumValuesEqualAsIntegral): (JSC::tmpLivenessForCheckpoint): * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::virtualRegisterIsAlwaysLive): (JSC::virtualRegisterThatIsNotAlwaysLiveIsLive): (JSC::virtualRegisterIsLive): (JSC::operandIsAlwaysLive): Deleted. (JSC::operandThatIsNotAlwaysLiveIsLive): Deleted. (JSC::operandIsLive): Deleted. * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::bytecodeIndexForExit const): (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndexSlow): (JSC::CodeBlock::updateAllValueProfilePredictionsAndCountLiveness): * bytecode/CodeBlock.h: (JSC::CodeBlock::numTmps const): (JSC::CodeBlock::isKnownNotImmediate): (JSC::CodeBlock::isTemporaryRegister): (JSC::CodeBlock::constantRegister): (JSC::CodeBlock::getConstant const): (JSC::CodeBlock::constantSourceCodeRepresentation const): (JSC::CodeBlock::replaceConstant): (JSC::CodeBlock::isTemporaryRegisterIndex): Deleted. (JSC::CodeBlock::isConstantRegisterIndex): Deleted. * bytecode/CodeOrigin.h: * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::virtualRegisterIsLive const): (JSC::FullBytecodeLiveness::operandIsLive const): Deleted. * bytecode/InlineCallFrame.h: (JSC::InlineCallFrame::InlineCallFrame): (JSC::InlineCallFrame::setTmpOffset): (JSC::CodeOrigin::walkUpInlineStack const): (JSC::CodeOrigin::inlineStackContainsActiveCheckpoint const): (JSC::remapOperand): (JSC::unmapOperand): (JSC::CodeOrigin::walkUpInlineStack): Deleted. * bytecode/LazyOperandValueProfile.h: (JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey): (JSC::LazyOperandValueProfileKey::hash const): (JSC::LazyOperandValueProfileKey::operand const): * bytecode/MethodOfGettingAValueProfile.cpp: (JSC::MethodOfGettingAValueProfile::fromLazyOperand): (JSC::MethodOfGettingAValueProfile::emitReportValue const): (JSC::MethodOfGettingAValueProfile::reportValue): * bytecode/MethodOfGettingAValueProfile.h: * bytecode/Operands.h: (JSC::Operand::Operand): (JSC::Operand::tmp): (JSC::Operand::kind const): (JSC::Operand::value const): (JSC::Operand::virtualRegister const): (JSC::Operand::asBits const): (JSC::Operand::isTmp const): (JSC::Operand::isArgument const): (JSC::Operand::isLocal const): (JSC::Operand::isHeader const): (JSC::Operand::isConstant const): (JSC::Operand::toArgument const): (JSC::Operand::toLocal const): (JSC::Operand::operator== const): (JSC::Operand::isValid const): (JSC::Operand::fromBits): (JSC::Operands::Operands): (JSC::Operands::numberOfLocals const): (JSC::Operands::numberOfTmps const): (JSC::Operands::tmpIndex const): (JSC::Operands::argumentIndex const): (JSC::Operands::localIndex const): (JSC::Operands::tmp): (JSC::Operands::tmp const): (JSC::Operands::argument): (JSC::Operands::argument const): (JSC::Operands::local): (JSC::Operands::local const): (JSC::Operands::sizeFor const): (JSC::Operands::atFor): (JSC::Operands::atFor const): (JSC::Operands::ensureLocals): (JSC::Operands::ensureTmps): (JSC::Operands::getForOperandIndex): (JSC::Operands::getForOperandIndex const): (JSC::Operands::operandIndex const): (JSC::Operands::operand): (JSC::Operands::operand const): (JSC::Operands::hasOperand const): (JSC::Operands::setOperand): (JSC::Operands::at const): (JSC::Operands::at): (JSC::Operands::operator[] const): (JSC::Operands::operator[]): (JSC::Operands::operandForIndex const): (JSC::Operands::operator== const): (JSC::Operands::isArgument const): Deleted. (JSC::Operands::isLocal const): Deleted. (JSC::Operands::virtualRegisterForIndex const): Deleted. (JSC::Operands::setOperandFirstTime): Deleted. * bytecode/OperandsInlines.h: (JSC::Operand::dump const): (JSC::Operands<T>::dumpInContext const): (JSC::Operands<T>::dump const): * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::hasCheckpoints const): (JSC::UnlinkedCodeBlock::setHasCheckpoints): (JSC::UnlinkedCodeBlock::constantRegister const): (JSC::UnlinkedCodeBlock::getConstant const): (JSC::UnlinkedCodeBlock::isConstantRegisterIndex const): Deleted. * bytecode/ValueProfile.h: (JSC::ValueProfileAndVirtualRegisterBuffer::ValueProfileAndVirtualRegisterBuffer): (JSC::ValueProfileAndVirtualRegisterBuffer::~ValueProfileAndVirtualRegisterBuffer): (JSC::ValueProfileAndOperandBuffer::ValueProfileAndOperandBuffer): Deleted. (JSC::ValueProfileAndOperandBuffer::~ValueProfileAndOperandBuffer): Deleted. (JSC::ValueProfileAndOperandBuffer::forEach): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * bytecode/VirtualRegister.h: (JSC::virtualRegisterIsLocal): (JSC::virtualRegisterIsArgument): (JSC::VirtualRegister::VirtualRegister): (JSC::VirtualRegister::isValid const): (JSC::VirtualRegister::isLocal const): (JSC::VirtualRegister::isArgument const): (JSC::VirtualRegister::isConstant const): (JSC::VirtualRegister::toConstantIndex const): (JSC::operandIsLocal): Deleted. (JSC::operandIsArgument): Deleted. * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::initializeParameters): (JSC::BytecodeGenerator::emitEqualityOpImpl): (JSC::BytecodeGenerator::emitCallVarargs): * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::setUsesCheckpoints): * bytecompiler/RegisterID.h: (JSC::RegisterID::setIndex): * dfg/DFGAbstractHeap.cpp: (JSC::DFG::AbstractHeap::Payload::dumpAsOperand const): (JSC::DFG::AbstractHeap::dump const): * dfg/DFGAbstractHeap.h: (JSC::DFG::AbstractHeap::Payload::Payload): (JSC::DFG::AbstractHeap::AbstractHeap): (JSC::DFG::AbstractHeap::operand const): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::dump): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGArgumentsUtilities.cpp: (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: * dfg/DFGAtTailAbstractState.h: (JSC::DFG::AtTailAbstractState::operand): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::pruneByLiveness): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): (JSC::DFG::BasicBlock::ensureTmps): * dfg/DFGBasicBlock.h: * dfg/DFGBlockInsertionSet.cpp: (JSC::DFG::BlockInsertionSet::insert): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::ByteCodeParser): (JSC::DFG::ByteCodeParser::ensureTmps): (JSC::DFG::ByteCodeParser::progressToNextCheckpoint): (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getDirect): (JSC::DFG::ByteCodeParser::get): (JSC::DFG::ByteCodeParser::setDirect): (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation): (JSC::DFG::ByteCodeParser::getLocalOrTmp): (JSC::DFG::ByteCodeParser::setLocalOrTmp): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::findArgumentPositionForLocal): (JSC::DFG::ByteCodeParser::findArgumentPosition): (JSC::DFG::ByteCodeParser::flushImpl): (JSC::DFG::ByteCodeParser::flushForTerminalImpl): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::addFlushOrPhantomLocal): (JSC::DFG::ByteCodeParser::phantomLocalDirect): (JSC::DFG::ByteCodeParser::flushForTerminal): (JSC::DFG::ByteCodeParser::addToGraph): (JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand const): (JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal): (JSC::DFG::ByteCodeParser::DelayedSetLocal::execute): (JSC::DFG::ByteCodeParser::allocateTargetableBlock): (JSC::DFG::ByteCodeParser::allocateUntargetableBlock): (JSC::DFG::ByteCodeParser::handleRecursiveTailCall): (JSC::DFG::ByteCodeParser::inlineCall): (JSC::DFG::ByteCodeParser::handleVarargsInlining): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parse): (JSC::DFG::ByteCodeParser::getLocal): Deleted. (JSC::DFG::ByteCodeParser::setLocal): Deleted. * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::injectOSR): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::run): (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocal): (JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeFlushOrPhantomLocal): (JSC::DFG::CPSRethreadingPhase::canonicalizeSet): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): (JSC::DFG::CPSRethreadingPhase::propagatePhis): (JSC::DFG::CPSRethreadingPhase::phiStackFor): * dfg/DFGCSEPhase.cpp: * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCombinedLiveness.cpp: (JSC::DFG::addBytecodeLiveness): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::addCodeOrigin): (JSC::DFG::CommonData::addUniqueCallSiteIndex): (JSC::DFG::CommonData::lastCallSite const): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGDriver.cpp: (JSC::DFG::compileImpl): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::isLiveInBytecode): (JSC::DFG::Graph::localsAndTmpsLiveInBytecode): (JSC::DFG::Graph::methodOfGettingAValueProfileFor): (JSC::DFG::Graph::localsLiveInBytecode): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::forAllLocalsAndTmpsLiveInBytecode): (JSC::DFG::Graph::forAllLiveInBytecode): (JSC::DFG::Graph::forAllLocalsLiveInBytecode): Deleted. * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::InPlaceAbstractState): * dfg/DFGInPlaceAbstractState.h: (JSC::DFG::InPlaceAbstractState::operand): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::linkOSRExits): (JSC::DFG::JITCompiler::noticeOSREntry): * dfg/DFGJITCompiler.h: (JSC::DFG::JITCompiler::emitStoreCallSiteIndex): * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::isValidFlushLocation): (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlockForTryCatch): (JSC::DFG::LiveCatchVariablePreservationPhase::newVariableAccessData): * dfg/DFGMovHintRemovalPhase.cpp: * dfg/DFGNode.h: (JSC::DFG::StackAccessData::StackAccessData): (JSC::DFG::Node::hasArgumentsChild): (JSC::DFG::Node::argumentsChild): (JSC::DFG::Node::operand): (JSC::DFG::Node::hasUnlinkedOperand): (JSC::DFG::Node::unlinkedOperand): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::local): Deleted. (JSC::DFG::Node::hasUnlinkedLocal): Deleted. (JSC::DFG::Node::unlinkedLocal): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntrypointCreationPhase.cpp: (JSC::DFG::OSREntrypointCreationPhase::run): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileExit): (JSC::DFG::jsValueFor): Deleted. (JSC::DFG::restoreCalleeSavesFor): Deleted. (JSC::DFG::saveCalleeSavesFor): Deleted. (JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer): Deleted. (JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer): Deleted. (JSC::DFG::saveOrCopyCalleeSavesFor): Deleted. (JSC::DFG::createDirectArgumentsDuringExit): Deleted. (JSC::DFG::createClonedArgumentsDuringExit): Deleted. (JSC::DFG::emitRestoreArguments): Deleted. (JSC::DFG::OSRExit::executeOSRExit): Deleted. (JSC::DFG::reifyInlinedCallFrames): Deleted. (JSC::DFG::adjustAndJumpToTarget): Deleted. (JSC::DFG::printOSRExit): Deleted. * dfg/DFGOSRExit.h: * dfg/DFGOSRExitBase.h: (JSC::DFG::OSRExitBase::isExitingToCheckpointHandler const): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::callerReturnPC): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOpInfo.h: (JSC::DFG::OpInfo::OpInfo): * dfg/DFGOperations.cpp: * dfg/DFGPhantomInsertionPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::callIfAppropriate): * dfg/DFGPredictionInjectionPhase.cpp: (JSC::DFG::PredictionInjectionPhase::run): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPutStackSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileMovHint): (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::checkArgumentTypes): (JSC::DFG::SpeculativeJIT::compileVarargsLength): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::recordSetLocal): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): (JSC::DFG::StackLayoutPhase::assign): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitThunkGenerator): Deleted. * dfg/DFGThunks.h: * dfg/DFGTypeCheckHoistingPhase.cpp: (JSC::DFG::TypeCheckHoistingPhase::run): (JSC::DFG::TypeCheckHoistingPhase::disableHoistingAcrossOSREntries): * dfg/DFGValidate.cpp: * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::shouldUseDoubleFormatAccordingToVote): (JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat): (JSC::DFG::VariableAccessData::couldRepresentInt52Impl): * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::operand): (JSC::DFG::VariableAccessData::local): Deleted. * dfg/DFGVariableEvent.cpp: (JSC::DFG::VariableEvent::dump const): * dfg/DFGVariableEvent.h: (JSC::DFG::VariableEvent::spill): (JSC::DFG::VariableEvent::setLocal): (JSC::DFG::VariableEvent::movHint): (JSC::DFG::VariableEvent::spillRegister const): (JSC::DFG::VariableEvent::operand const): (JSC::DFG::VariableEvent::bytecodeRegister const): Deleted. * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::logEvent): (JSC::DFG::VariableEventStream::reconstruct const): * dfg/DFGVariableEventStream.h: (JSC::DFG::VariableEventStream::appendAndLog): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLForOSREntryJITCode.cpp: (JSC::FTL::ForOSREntryJITCode::ForOSREntryJITCode): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileExtractOSREntryLocal): (JSC::FTL::DFG::LowerDFGToB3::compileGetStack): (JSC::FTL::DFG::LowerDFGToB3::compileGetCallee): (JSC::FTL::DFG::LowerDFGToB3::compileSetCallee): (JSC::FTL::DFG::LowerDFGToB3::compileSetArgumentCountIncludingThis): (JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileLogShadowChickenPrologue): (JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength): (JSC::FTL::DFG::LowerDFGToB3::getCurrentCallee): (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::appendOSRExitDescriptor): (JSC::FTL::DFG::LowerDFGToB3::buildExitArguments): (JSC::FTL::DFG::LowerDFGToB3::addressFor): (JSC::FTL::DFG::LowerDFGToB3::payloadFor): (JSC::FTL::DFG::LowerDFGToB3::tagFor): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSRExit.cpp: (JSC::FTL::OSRExitDescriptor::OSRExitDescriptor): * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.cpp: (JSC::FTL::Output::select): * ftl/FTLOutput.h: * ftl/FTLSelectPredictability.h: Copied from Source/JavaScriptCore/ftl/FTLForOSREntryJITCode.cpp. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Checkpoints.rb: Added. * generator/Opcode.rb: * generator/Section.rb: * heap/Heap.cpp: (JSC::Heap::gatherScratchBufferRoots): * interpreter/CallFrame.cpp: (JSC::CallFrame::callSiteAsRawBits const): (JSC::CallFrame::unsafeCallSiteAsRawBits const): (JSC::CallFrame::callSiteIndex const): (JSC::CallFrame::unsafeCallSiteIndex const): (JSC::CallFrame::setCurrentVPC): (JSC::CallFrame::bytecodeIndex): (JSC::CallFrame::codeOrigin): * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool const): (JSC::CallSiteIndex::operator== const): (JSC::CallSiteIndex::bits const): (JSC::CallSiteIndex::fromBits): (JSC::CallSiteIndex::bytecodeIndex const): (JSC::DisposableCallSiteIndex::DisposableCallSiteIndex): (JSC::CallFrame::callee const): (JSC::CallFrame::unsafeCallee const): (JSC::CallFrame::addressOfCodeBlock const): (JSC::CallFrame::argumentCountIncludingThis const): (JSC::CallFrame::offsetFor): (JSC::CallFrame::setArgumentCountIncludingThis): (JSC::CallFrame::setReturnPC): * interpreter/CallFrameInlines.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::CallFrame::guaranteedJSValueCallee const): (JSC::CallFrame::jsCallee const): (JSC::CallFrame::codeBlock const): (JSC::CallFrame::unsafeCodeBlock const): (JSC::CallFrame::setCallee): (JSC::CallFrame::setCodeBlock): * interpreter/CheckpointOSRExitSideState.h: Copied from Source/JavaScriptCore/dfg/DFGThunks.h. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::UnwindFunctor::operator() const): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::readInlinedFrame): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::emitGetFromCallFrameHeaderPtr): (JSC::AssemblyHelpers::emitGetFromCallFrameHeader32): (JSC::AssemblyHelpers::emitGetFromCallFrameHeader64): (JSC::AssemblyHelpers::emitPutToCallFrameHeader): (JSC::AssemblyHelpers::emitPutToCallFrameHeaderBeforePrologue): (JSC::AssemblyHelpers::emitPutPayloadToCallFrameHeaderBeforePrologue): (JSC::AssemblyHelpers::emitPutTagToCallFrameHeaderBeforePrologue): (JSC::AssemblyHelpers::addressFor): (JSC::AssemblyHelpers::tagFor): (JSC::AssemblyHelpers::payloadFor): (JSC::AssemblyHelpers::calleeFrameSlot): (JSC::AssemblyHelpers::calleeArgumentSlot): (JSC::AssemblyHelpers::calleeFrameTagSlot): (JSC::AssemblyHelpers::calleeFramePayloadSlot): (JSC::AssemblyHelpers::calleeFrameCallerFrame): (JSC::AssemblyHelpers::argumentCount): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::CallFrameShuffler): * jit/CallFrameShuffler.h: (JSC::CallFrameShuffler::setCalleeJSValueRegs): (JSC::CallFrameShuffler::assumeCalleeIsCell): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareAndJumpImpl): (JSC::JIT::emit_compareUnsignedAndJump): (JSC::JIT::emit_compareUnsignedAndJumpImpl): (JSC::JIT::emit_compareUnsigned): (JSC::JIT::emit_compareUnsignedImpl): (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emit_compareAndJumpSlowImpl): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emit_op_mod): (JSC::JIT::emitBitBinaryOpFastPath): (JSC::JIT::emit_op_bitnot): (JSC::JIT::emitRightShiftFastPath): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): (JSC::JIT::emit_op_div): * jit/JITCall.cpp: (JSC::JIT::emitPutCallResult): (JSC::JIT::compileSetupFrame): (JSC::JIT::compileOpCall): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITInlines.h: (JSC::JIT::isOperandConstantDouble): (JSC::JIT::getConstantOperand): (JSC::JIT::emitPutIntToCallFrameHeader): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResult): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile): (JSC::JIT::linkSlowCaseIfNotJSCell): (JSC::JIT::isOperandConstantChar): (JSC::JIT::getOperandConstantInt): (JSC::JIT::getOperandConstantDouble): (JSC::JIT::emitInitRegister): (JSC::JIT::emitLoadTag): (JSC::JIT::emitLoadPayload): (JSC::JIT::emitGet): (JSC::JIT::emitPutVirtualRegister): (JSC::JIT::emitLoad): (JSC::JIT::emitLoad2): (JSC::JIT::emitLoadDouble): (JSC::JIT::emitLoadInt32ToDouble): (JSC::JIT::emitStore): (JSC::JIT::emitStoreInt32): (JSC::JIT::emitStoreCell): (JSC::JIT::emitStoreBool): (JSC::JIT::emitStoreDouble): (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::isOperandConstantInt): (JSC::JIT::emitGetVirtualRegister): (JSC::JIT::emitGetVirtualRegisters): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_mov): (JSC::JIT::emit_op_end): (JSC::JIT::emit_op_new_object): (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_overrides_has_instance): (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_is_empty): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_undefined_or_null): (JSC::JIT::emit_op_is_boolean): (JSC::JIT::emit_op_is_number): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_ret): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jfalse): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jundefined_or_null): (JSC::JIT::emit_op_jnundefined_or_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_jtrue): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::emit_op_throw): (JSC::JIT::compileOpStrictEq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_numeric): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_get_parent_scope): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_enter): (JSC::JIT::emit_op_get_scope): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emit_op_has_structure_property): (JSC::JIT::emit_op_has_indexed_property): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_get_direct_pname): (JSC::JIT::emit_op_enumerator_structure_pname): (JSC::JIT::emit_op_enumerator_generic_pname): (JSC::JIT::emit_op_profile_type): (JSC::JIT::emit_op_log_shadow_chicken_prologue): (JSC::JIT::emit_op_log_shadow_chicken_tail): (JSC::JIT::emit_op_argument_count): (JSC::JIT::emit_op_get_rest_length): (JSC::JIT::emit_op_get_argument): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_catch): * jit/JITOperations.cpp: * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emit_op_put_by_val): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitArrayStoragePutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emit_op_try_get_by_id): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emit_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emit_op_get_by_id): (JSC::JIT::emit_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emit_op_put_by_id): (JSC::JIT::emit_op_in_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitResolveClosure): (JSC::JIT::emit_op_resolve_scope): (JSC::JIT::emitLoadWithStructureCheck): (JSC::JIT::emitGetClosureVar): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitPutGlobalVariable): (JSC::JIT::emitPutGlobalVariableIndirect): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emitWriteBarrier): (JSC::JIT::emit_op_get_internal_field): (JSC::JIT::emit_op_put_internal_field): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal): * jit/JSInterfaceJIT.h: (JSC::JSInterfaceJIT::emitLoadJSCell): (JSC::JSInterfaceJIT::emitJumpIfNotJSCell): (JSC::JSInterfaceJIT::emitLoadInt32): (JSC::JSInterfaceJIT::emitLoadDouble): (JSC::JSInterfaceJIT::emitGetFromCallFrameHeaderPtr): (JSC::JSInterfaceJIT::emitPutToCallFrameHeader): (JSC::JSInterfaceJIT::emitPutCellToCallFrameHeader): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::loadDoubleArgument): (JSC::SpecializedThunkJIT::loadCellArgument): (JSC::SpecializedThunkJIT::loadInt32Argument): * jit/ThunkGenerators.cpp: (JSC::absThunkGenerator): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::handleVarargsCheckpoint): (JSC::LLInt::dispatchToNextInstruction): (JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): (JSC::LLInt::slow_path_checkpoint_osr_exit): (JSC::LLInt::llint_throw_stack_overflow_error): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::fill): * runtime/CachedTypes.cpp: (JSC::CachedCodeBlock::hasCheckpoints const): (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): (JSC::CachedCodeBlock<CodeBlockType>::encode): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/ConstructData.cpp: (JSC::construct): * runtime/ConstructData.h: * runtime/DirectArguments.cpp: (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::copyToArguments): * runtime/JSArray.cpp: (JSC::JSArray::copyToArguments): * runtime/JSArray.h: * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSLock.cpp: (JSC::JSLock::willReleaseLock): * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::create): * runtime/Options.cpp: (JSC::recomputeDependentOptions): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/VM.cpp: (JSC::VM::scanSideState const): (JSC::VM::addCheckpointOSRSideState): (JSC::VM::findCheckpointOSRSideState): * runtime/VM.h: (JSC::VM::hasCheckpointOSRSideState const): * tools/VMInspector.cpp: (JSC::VMInspector::dumpRegisters): * wasm/WasmFunctionCodeBlock.h: (JSC::Wasm::FunctionCodeBlock::getConstant const): (JSC::Wasm::FunctionCodeBlock::getConstantType const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::setUsesCheckpoints const): * wasm/WasmOperations.cpp: (JSC::Wasm::operationWasmToJSException): * wasm/WasmSlowPaths.cpp: Source/WTF: * WTF.xcodeproj/project.pbxproj: * wtf/Bitmap.h: (WTF::WordType>::invert): (WTF::WordType>::operator): (WTF::WordType>::operator const const): * wtf/CMakeLists.txt: * wtf/EnumClassOperatorOverloads.h: Added. * wtf/FastBitVector.h: (WTF::FastBitReference::operator bool const): (WTF::FastBitReference::operator|=): (WTF::FastBitReference::operator&=): (WTF::FastBitVector::fill): (WTF::FastBitVector::grow): * wtf/UnalignedAccess.h: (WTF::unalignedLoad): (WTF::unalignedStore): Tools: * Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/219481@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-17 04:09:32 +00:00
codeBlock->constantRegister(newArrayBuffer.m_immutableButterfly).set(vm, codeBlock, immutableButterfly);
WTF::storeStoreFence();
}
JSArray* result = CommonSlowPaths::allocateNewArrayBuffer(vm, structure, immutableButterfly);
ArrayAllocationProfile::updateLastAllocationFor(profile, result);
return result;
[FTL] NewArrayBuffer should be sinked if it is only used for spreading https://bugs.webkit.org/show_bug.cgi?id=179762 Reviewed by Saam Barati. JSTests: * stress/call-varargs-double-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer.js: Added. (assert): (bar): (foo): * stress/call-varargs-spread-new-array-buffer2.js: Added. (assert): (bar): (foo): * stress/forward-varargs-double-new-array-buffer.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/new-array-buffer-sinking-osrexit.js: Added. (target): (test): * stress/new-array-with-spread-double-new-array-buffer.js: Added. (shouldBe): (test): * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. (shouldBe): (target): (test): * stress/phantom-new-array-buffer-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): * stress/phantom-new-array-buffer-forward-varargs2.js: Added. (assert): (test.baz): (test.bar): (test.foo): (test): * stress/phantom-new-array-buffer-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): Source/JavaScriptCore: This patch extends arguments elimination phase to accept NewArrayBuffer. We can convert NewArrayBuffer to PhantomNewArrayBuffer if it is only used by spreading nodes. This improves SixSpeed spread.es6 by 3.5x. spread.es6 79.1496+-3.5665 ^ 23.6204+-1.8526 ^ definitely 3.3509x faster * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGNode.h: (JSC::DFG::Node::hasNewArrayBufferData): (JSC::DFG::Node::hasVectorLengthHint): (JSC::DFG::Node::hasIndexingType): (JSC::DFG::Node::indexingType): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): Source/WTF: We add RecursableLambda<>. This can take a lambda and offer a way to call this lambda recursively without introducing additional allocations. C++ lambda is super useful in particular when we need to capture many variables as references. Passing many arguments to a usual function is not a good way. But C++ lambda does not allow us to easily call itself recursively. Our recursableLambda offers `self` function as a first argument of the given lambda. We can call this `self` recursively. auto targetFunction = recursableLambda([] (auto self, ...) -> resultType { self(...); }); While `std::function<> func = [&func] { ... }` allows recursion, it causes heap allocation for std::function<>. `auto func = [&func] { ... }` causes a compile error since we need to deduce an actual type when capturing `func`. * WTF.xcodeproj/project.pbxproj: * wtf/RecursableLambda.h: Added. (WTF::RecursableLambda::RecursableLambda): (WTF::RecursableLambda::operator() const): (WTF::recursableLambda): Canonical link: https://commits.webkit.org/196815@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-12-18 11:49:33 +00:00
}
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
case PhantomNewArrayWithSpread: {
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
materialization->origin(), callFrame->codeBlock()->baselineAlternative());
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
JSGlobalObject* globalObject = codeBlock->globalObject();
Structure* structure = globalObject->arrayStructureForIndexingTypeDuringAllocation(ArrayWithContiguous);
Use Checked aliases instead of Checked<T, RecordOverflow> https://bugs.webkit.org/show_bug.cgi?id=226535 Reviewed by Keith Miller. Source/JavaScriptCore: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * runtime/JSArray.cpp: (JSC::JSArray::appendMemcpy): (JSC::JSArray::unshiftCountWithAnyIndexingType): * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): * runtime/JSStringJoiner.h: * runtime/StringPrototype.cpp: (JSC::jsSpliceSubstringsWithSeparators): * wasm/WasmFormat.cpp: (JSC::Wasm::Segment::create): * wasm/WasmOperations.cpp: (JSC::Wasm::JSC_DEFINE_JIT_OPERATION): * wasm/WasmTable.cpp: (JSC::Wasm::Table::grow): * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::emitDisjunction): * yarr/YarrParser.h: (JSC::Yarr::Parser::consumeNumber): * yarr/YarrPattern.cpp: Source/WebCore: * html/ImageData.cpp: (WebCore::computeDataSize): * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::validateTexFuncData): (WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData): * platform/graphics/GraphicsContextGL.cpp: (WebCore::GraphicsContextGL::computeImageSizeInBytes): * platform/graphics/IntRect.cpp: (WebCore::IntRect::isValid const): * platform/graphics/PixelBuffer.cpp: (WebCore::PixelBuffer::computeBufferSize): * platform/graphics/PixelBuffer.h: * platform/graphics/avfoundation/ISOFairPlayStreamingPsshBox.cpp: (WebCore::ISOFairPlayStreamingKeyRequestInfoBox::parse): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateBackdropFilters): * platform/graphics/cg/ImageBufferCGBitmapBackend.cpp: (WebCore::ImageBufferCGBitmapBackend::calculateSafeBackendSize): * platform/graphics/win/Direct2DUtilities.cpp: (WebCore::Direct2D::createDirect2DImageSurfaceWithData): * platform/graphics/win/ImageBufferDirect2DBackend.cpp: (WebCore::ImageBufferDirect2DBackend::copyNativeImage const): (WebCore::ImageBufferDirect2DBackend::compatibleBitmap): Source/WebKit: * Shared/ShareableBitmap.cpp: (WebKit::ShareableBitmap::numBytesForSize): * Shared/ShareableBitmap.h: * Shared/cairo/ShareableBitmapCairo.cpp: (WebKit::ShareableBitmap::calculateBytesPerRow): (WebKit::ShareableBitmap::calculateBytesPerPixel): * Shared/cg/ShareableBitmapCG.cpp: (WebKit::ShareableBitmap::calculateBytesPerRow): (WebKit::ShareableBitmap::calculateBytesPerPixel): * Shared/win/ShareableBitmapDirect2D.cpp: (WebKit::ShareableBitmap::calculateBytesPerRow): (WebKit::ShareableBitmap::calculateBytesPerPixel): * UIProcess/mac/TextCheckerMac.mm: (WebKit::TextChecker::updateSpellingUIWithGrammarString): * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp: (WebKit::ImageBufferShareableBitmapBackend::calculateSafeBackendSize): Source/WTF: * wtf/URLHelpers.cpp: (WTF::URLHelpers::userVisibleURL): * wtf/URLParser.cpp: (WTF::URLParser::parseIPv4Piece): * wtf/cocoa/NSURLExtras.mm: (WTF::dataWithUserTypedString): * wtf/glib/SocketConnection.cpp: (WTF::SocketConnection::sendMessage): Canonical link: https://commits.webkit.org/238383@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278351 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-02 15:42:27 +00:00
CheckedUint32 checkedArraySize = 0;
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
unsigned numProperties = 0;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() == NewArrayWithSpreadArgumentPLoc) {
++numProperties;
JSValue value = JSValue::decode(values[i]);
[JSC] Remove JSFixedArray, and use JSImmutableButterfly instead https://bugs.webkit.org/show_bug.cgi?id=204402 Reviewed by Mark Lam. JSTests: * stress/new-array-with-spread-cow-double.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow-int.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow.js: Added. (shouldBe): (shouldBeArray): (test): Source/JavaScriptCore: This patch removes JSFixedArray, and use JSImmutableButterfly instead. JSFixedArray can be replaced by JSImmutableButterfly with Contiguous shape. And further, we can create an array from JSImmutableButterfly generated by Spread node in NewArrayBufferWithSpread. Currently, we are always creating contiguous JSImmutableButterfly from Spread. If it takes contiguous CoW array, we can reuse JSImmutableButterfly of the input. But if it is CoW and not contiguous shape (like, CopyOnWriteArrayWithInt32), we create a JSImmutableButterfly and copy it to this new butterfly. We can extend it to accept non-contiguous JSImmutableButterfly in the future. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecompiler/BytecodeGenerator.cpp: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileObjectKeys): * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::toButterfly): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSCast.h: * runtime/JSFixedArray.cpp: Removed. * runtime/JSFixedArray.h: Removed. * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::createFromArray): (JSC::JSImmutableButterfly::offsetOfPublicLength): (JSC::JSImmutableButterfly::offsetOfVectorLength): * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Canonical link: https://commits.webkit.org/218436@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-12-14 04:34:45 +00:00
if (JSImmutableButterfly* immutableButterfly = jsDynamicCast<JSImmutableButterfly*>(vm, value))
checkedArraySize += immutableButterfly->publicLength();
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
else
checkedArraySize += 1;
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
}
}
Audit and fix incorrect uses of JSArray::tryCreateForInitializationPrivate(). https://bugs.webkit.org/show_bug.cgi?id=171344 <rdar://problem/31352667> Reviewed by Filip Pizlo. JSArray::tryCreateForInitializationPrivate() should only be used in performance critical paths, and should always be used with care because it creates an uninitialized object that needs to be initialized by its client before the object can be released into the system. Before the object is fully initialized: a. the client should not re-enter the VM to execute JS code, and b. GC should not run. This is because until the object is fully initialized, it is an inconsistent state that the GC and JS code will not be happy about. In this patch, we do the following: 1. Renamed JSArray::tryCreateForInitializationPrivate() to JSArray::tryCreateUninitializedRestricted() because "private" is a bit ambiguous and can be confused with APIs that are called freely within WebKit but are not meant for clients of WebKit. In this case, we intend for use of this API to be restricted to only a few carefully considered and crafted cases. 2. Introduce the ObjectInitializationScope RAII object which covers the period when the uninitialized object is created and gets initialized. ObjectInitializationScope will asserts that either the object is created fully initialized (in the case where the object structure is not an "original" structure) or if created uninitialized, is fully initialized at the end of the scope. If the object is created uninitialized, the ObjectInitializationScope also ensures that we do not GC nor re-enter the VM to execute JS code. This is achieved by enabling DisallowGC and DisallowVMReentry scopes. tryCreateUninitializedRestricted() and initializeIndex() now requires an ObjectInitializationScope instance. The ObjectInitializationScope replaces the VM& argument because it can be used to pass the VM& itself. This is a small optimization that makes passing the ObjectInitializationScope free even on release builds. 3. Factored a DisallowScope out of DisallowGC, and make DisallowGC extend it. Introduce a DisallowVMReentry class that extends DisallowScope. 4. Fixed a bug found by the ObjectInitializationScope. The bug is that there are scenarios where the structure passed to tryCreateUninitializedRestricted() that may not be an "original" structure. As a result, initializeIndex() would end up allocating new structures, and therefore trigger a GC. The fix is to detect that the structure passed to tryCreateUninitializedRestricted() is not an "original" one, and pre-initialize the array with 0s. This bug was detected by existing tests. Hence, no new test needed. 5. Replaced all inappropriate uses of tryCreateUninitializedRestricted() with tryCreate(). Inappropriate uses here means code that is not in performance critical paths. Similarly, replaced accompanying uses of initializeIndex() with putDirectIndex(). This patch is performance neutral (according to the JSC command line benchmarks). * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGOperations.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/DeferGC.cpp: * heap/DeferGC.h: (JSC::DisallowGC::DisallowGC): (JSC::DisallowGC::initialize): (JSC::DisallowGC::scopeReentryCount): (JSC::DisallowGC::setScopeReentryCount): (JSC::DisallowGC::~DisallowGC): Deleted. (JSC::DisallowGC::isGCDisallowedOnCurrentThread): Deleted. * heap/GCDeferralContextInlines.h: (JSC::GCDeferralContext::~GCDeferralContext): * heap/Heap.cpp: (JSC::Heap::collectIfNecessaryOrDefer): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoPrivateFuncConcatMemcpy): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createByCopyingFrom): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/DisallowScope.h: Added. (JSC::DisallowScope::DisallowScope): (JSC::DisallowScope::~DisallowScope): (JSC::DisallowScope::isInEffectOnCurrentThread): (JSC::DisallowScope::enable): (JSC::DisallowScope::enterScope): (JSC::DisallowScope::exitScope): * runtime/DisallowVMReentry.cpp: Added. * runtime/DisallowVMReentry.h: Added. (JSC::DisallowVMReentry::DisallowVMReentry): (JSC::DisallowVMReentry::initialize): (JSC::DisallowVMReentry::scopeReentryCount): (JSC::DisallowVMReentry::setScopeReentryCount): * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::fastSlice): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. * runtime/JSArray.h: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::tryCreate): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. (JSC::createArrayButterfly): Deleted. * runtime/JSCellInlines.h: (JSC::allocateCell): * runtime/JSObject.h: (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): * runtime/ObjectInitializationScope.cpp: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::~ObjectInitializationScope): (JSC::ObjectInitializationScope::notifyAllocated): (JSC::ObjectInitializationScope::verifyPropertiesAreInitialized): * runtime/ObjectInitializationScope.h: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::vm): (JSC::ObjectInitializationScope::notifyAllocated): * runtime/Operations.h: (JSC::isScribbledValue): (JSC::scribble): * runtime/RegExpMatchesArray.cpp: (JSC::createEmptyRegExpMatchesArray): * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): (JSC::createRegExpMatchesArray): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): Canonical link: https://commits.webkit.org/188279@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-04-27 19:24:07 +00:00
// FIXME: we should throw an out of memory error here if checkedArraySize has hasOverflowed() or tryCreate() fails.
// https://bugs.webkit.org/show_bug.cgi?id=169784
Rename Checked::unsafeGet() to Checked::value() https://bugs.webkit.org/show_bug.cgi?id=226514 Reviewed by Darin Adler. Rename Checked::unsafeGet() to Checked::value(). The "unsafeGet" naming is confusing as this function isn't really unsafe since it will crash if the value has overflowed. Also add an `operator T()` to implicitly convert a Checked to its underlying type without needing to call value(). Source/JavaScriptCore: * b3/B3Const32Value.cpp: (JSC::B3::Const32Value::checkAddConstant const): (JSC::B3::Const32Value::checkSubConstant const): (JSC::B3::Const32Value::checkMulConstant const): * b3/B3Const64Value.cpp: (JSC::B3::Const64Value::checkAddConstant const): (JSC::B3::Const64Value::checkSubConstant const): (JSC::B3::Const64Value::checkMulConstant const): * bytecompiler/BytecodeGenerator.h: (JSC::FinallyContext::numberOfBreaksOrContinues const): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * heap/Heap.cpp: (JSC::Heap::deprecatedReportExtraMemorySlowCase): (JSC::Heap::extraMemorySize): (JSC::Heap::updateAllocationLimits): (JSC::Heap::reportExtraMemoryVisited): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::propagateExternalMemoryVisitedIfNecessary): * runtime/ArgList.cpp: (JSC::MarkedArgumentBuffer::slowEnsureCapacity): (JSC::MarkedArgumentBuffer::expandCapacity): * runtime/ArrayPrototype.cpp: (JSC::concatAppendOne): (JSC::JSC_DEFINE_HOST_FUNCTION): * runtime/CommonSlowPaths.cpp: (JSC::JSC_DEFINE_COMMON_SLOW_PATH): * runtime/DirectArguments.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::allocationSize): (JSC::HashMapImpl::HashMapImpl): * runtime/HashMapImplInlines.h: (JSC::nextCapacity): (JSC::HashMapImpl<HashMapBucketType>::finishCreation): * runtime/JSBigInt.cpp: (JSC::JSBigInt::parseInt): * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::tryCreate): * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::offsetOfVariable): (JSC::JSLexicalEnvironment::allocationSizeForScopeSize): * runtime/JSObject.h: * runtime/JSPropertyNameEnumerator.cpp: (JSC::JSPropertyNameEnumerator::create): * runtime/JSString.h: * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createUninitialized): * runtime/StringPrototype.cpp: (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): * runtime/StructureChain.cpp: (JSC::StructureChain::create): * runtime/VM.h: (JSC::ScratchBuffer::allocationSize): * runtime/WeakMapImpl.h: (JSC::WeakMapBuffer::allocationSize): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::AirIRGenerator): (JSC::Wasm::AirIRGenerator::emitCallPatchpoint): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::B3IRGenerator): * wasm/WasmInstance.cpp: * wasm/WasmInstance.h: (JSC::Wasm::Instance::allocationSize): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::push): (JSC::Wasm::LLIntGenerator::getDropKeepCount): (JSC::Wasm::LLIntGenerator::walkExpressionStack): (JSC::Wasm::LLIntGenerator::finalize): (JSC::Wasm::LLIntGenerator::callInformationForCaller): (JSC::Wasm::LLIntGenerator::addLoop): (JSC::Wasm::LLIntGenerator::addTopLevel): (JSC::Wasm::LLIntGenerator::addBlock): (JSC::Wasm::LLIntGenerator::addIf): (JSC::Wasm::LLIntGenerator::addElseToUnreachable): * wasm/WasmSignature.h: (JSC::Wasm::Signature::allocatedSize): * wasm/WasmStreamingParser.cpp: (JSC::Wasm::StreamingParser::addBytes): * wasm/WasmTable.cpp: (JSC::Wasm::Table::Table): (JSC::Wasm::Table::grow): (JSC::Wasm::FuncRefTable::FuncRefTable): * yarr/YarrInterpreter.cpp: (JSC::Yarr::Interpreter::DisjunctionContext::allocationSize): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::allocationSize): (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): (JSC::Yarr::ByteCompiler::atomCharacterClass): (JSC::Yarr::ByteCompiler::atomBackReference): (JSC::Yarr::ByteCompiler::atomParentheticalAssertionEnd): (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternEnd): (JSC::Yarr::ByteCompiler::atomParenthesesOnceEnd): (JSC::Yarr::ByteCompiler::atomParenthesesTerminalEnd): (JSC::Yarr::ByteCompiler::emitDisjunction): * yarr/YarrInterpreter.h: (JSC::Yarr::ByteTerm::ByteTerm): (JSC::Yarr::ByteTerm::CheckInput): (JSC::Yarr::ByteTerm::UncheckInput): * yarr/YarrJIT.cpp: * yarr/YarrParser.h: (JSC::Yarr::Parser::consumeNumber): * yarr/YarrPattern.cpp: (JSC::Yarr::PatternTerm::dumpQuantifier): Source/WebCore: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal): * dom/TextEncoderStreamEncoder.cpp: (WebCore::TextEncoderStreamEncoder::encode): * editing/markup.cpp: (WebCore::StyledMarkupAccumulator::takeResults): * html/FileInputType.cpp: (WebCore::FileInputType::saveFormControlState const): * html/ImageData.cpp: (WebCore::ImageData::create): (WebCore::ImageData::createUninitialized): * html/MediaElementSession.cpp: (WebCore::isElementRectMostlyInMainFrame): * html/canvas/WebGL2RenderingContext.cpp: (WebCore::WebGL2RenderingContext::sliceArrayBufferView): (WebCore::WebGL2RenderingContext::copyBufferSubData): (WebCore::WebGL2RenderingContext::getBufferSubData): (WebCore::WebGL2RenderingContext::validateClearBuffer): * html/canvas/WebGLBuffer.cpp: (WebCore::WebGLBuffer::associateBufferSubDataImpl): (WebCore::WebGLBuffer::associateCopyBufferSubData): * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::clip2D): (WebCore::WebGLRenderingContextBase::validateDrawArrays): (WebCore::WebGLRenderingContextBase::validateDrawElements): (WebCore::WebGLRenderingContextBase::validateTexFuncData): (WebCore::WebGLRenderingContextBase::validateCompressedTexFuncData): (WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0): * html/canvas/WebGLRenderingContextBase.h: (WebCore::WebGLRenderingContextBase::validateTexImageSubRectangle): (WebCore::WebGLRenderingContextBase::checkedAddAndMultiply): * page/FrameView.h: (WebCore::FrameView::incrementVisuallyNonEmptyPixelCount): * page/History.cpp: (WebCore::History::stateObjectAdded): * platform/audio/AudioArray.h: (WebCore::AudioArray::resize): * platform/audio/cocoa/AudioFileReaderCocoa.cpp: (WebCore::tryCreateAudioBufferList): * platform/audio/cocoa/CARingBuffer.cpp: (WebCore::CARingBuffer::adoptStorage): (WebCore::CARingBuffer::initializeAfterAllocation): (WebCore::CARingBuffer::allocate): * platform/audio/cocoa/WebAudioBufferList.cpp: (WebCore::WebAudioBufferList::WebAudioBufferList): * platform/graphics/FormatConverter.h: (WebCore::FormatConverter::FormatConverter): * platform/graphics/GraphicsContextGL.cpp: (WebCore::GraphicsContextGL::computeImageSizeInBytes): * platform/graphics/ImageBackingStore.h: (WebCore::ImageBackingStore::setSize): (WebCore::ImageBackingStore::clear): * platform/graphics/ImageBufferBackend.cpp: (WebCore::ImageBufferBackend::calculateMemoryCost): * platform/graphics/ImageFrame.h: (WebCore::ImageFrame::frameBytes const): * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::maximumSubsamplingLevel): * platform/graphics/PixelBuffer.cpp: (WebCore::PixelBuffer::tryCreateForDecoding): (WebCore::PixelBuffer::tryCreate): * platform/graphics/PixelBuffer.h: (WebCore::PixelBuffer::encode const): (WebCore::PixelBuffer::decode): * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: (WebCore::ImageDecoderAVFObjC::frameBytesAtIndex const): * platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm: (WebCore::MediaSampleAVFObjC::setByteRangeOffset): (WebCore::MediaSampleAVFObjC::byteRangeForAttachment const): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::updateBackdropFilters): * platform/graphics/ca/LayerPool.cpp: (WebCore::LayerPool::backingStoreBytesForSize): * platform/graphics/cg/GraphicsContextGLCG.cpp: (WebCore::GraphicsContextGLImageExtractor::extractImage): * platform/graphics/cg/ImageBufferCGBackend.cpp: (WebCore::ImageBufferCGBackend::calculateBytesPerRow): * platform/graphics/cg/ImageDecoderCG.cpp: (WebCore::ImageDecoderCG::frameBytesAtIndex const): * platform/graphics/cocoa/SourceBufferParser.cpp: (WebCore::SourceBufferParser::Segment::read const): * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::effectApplyAccelerated): * platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::platformApplySoftware): * platform/graphics/filters/FETurbulence.cpp: (WebCore::FETurbulence::platformApplySoftware): * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::unmultipliedResult): (WebCore::FilterEffect::premultipliedResult): (WebCore::copyPremultiplyingAlpha): (WebCore::copyUnpremultiplyingAlpha): * platform/graphics/gpu/cocoa/GPUBindGroupAllocatorMetal.mm: (WebCore::GPUBindGroupAllocator::allocateAndSetEncoders): (WebCore::GPUBindGroupAllocator::reallocate): * platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm: (WebCore::GPUCommandBuffer::copyBufferToBuffer): * platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm: (WebCore::GPURenderPassEncoder::drawIndexed): * platform/graphics/gstreamer/ImageDecoderGStreamer.cpp: (WebCore::ImageDecoderGStreamer::frameBytesAtIndex const): * platform/graphics/nicosia/NicosiaBuffer.cpp: (Nicosia::Buffer::Buffer): * platform/graphics/win/Direct2DUtilities.cpp: (WebCore::Direct2D::createDirect2DImageSurfaceWithData): * platform/graphics/win/ImageBufferDirect2DBackend.cpp: (WebCore::ImageBufferDirect2DBackend::compatibleBitmap): * platform/graphics/win/ImageDecoderDirect2D.cpp: (WebCore::ImageDecoderDirect2D::frameBytesAtIndex const): * platform/image-decoders/ScalableImageDecoder.cpp: (WebCore::ScalableImageDecoder::frameBytesAtIndex const): * platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp: (WebCore::sycc444ToRGB): (WebCore::sycc422ToRGB): (WebCore::sycc420ToRGB): * platform/ios/LegacyTileLayerPool.mm: (WebCore::LegacyTileLayerPool::bytesBackingLayerWithPixelSize): * platform/text/TextCodecUTF16.cpp: (WebCore::TextCodecUTF16::encode const): * platform/text/TextCodecUTF8.cpp: (WebCore::TextCodecUTF8::encodeUTF8): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::requiresCompositingForCanvas const): * rendering/shapes/Shape.cpp: (WebCore::Shape::createRasterShape): * storage/StorageMap.cpp: (WebCore::StorageMap::setItem): * xml/XSLStyleSheetLibxslt.cpp: (WebCore::XSLStyleSheet::parseString): * xml/XSLTProcessorLibxslt.cpp: (WebCore::xsltParamArrayFromParameterMap): * xml/parser/CharacterReferenceParserInlines.h: (WebCore::consumeCharacterReference): Source/WebKit: * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists): * NetworkProcess/WebStorage/LocalStorageDatabase.cpp: (WebKit::LocalStorageDatabase::setItem): * NetworkProcess/cache/CacheStorageEngineCache.cpp: (WebKit::CacheStorage::Cache::put): * Platform/IPC/ArgumentCoders.h: * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::Connection::sendOutgoingMessage): (IPC::createMessageDecoder): * Platform/IPC/cocoa/MachMessage.cpp: (IPC::MachMessage::create): * Shared/ShareableBitmap.cpp: (WebKit::ShareableBitmap::Handle::encode const): (WebKit::ShareableBitmap::create): (WebKit::ShareableBitmap::createShareable): * Shared/ShareableBitmap.h: (WebKit::ShareableBitmap::bytesPerRow const): (WebKit::ShareableBitmap::sizeInBytes const): * Shared/ShareableResource.cpp: (WebKit::ShareableResource::create): * Shared/cg/ShareableBitmapCG.cpp: (WebKit::ShareableBitmap::calculateBytesPerRow): (WebKit::ShareableBitmap::createGraphicsContext): (WebKit::ShareableBitmap::createCGImage const): * Shared/mac/MediaFormatReader/MediaFormatReader.cpp: (WebKit::MediaFormatReader::copyTrackArray): * Shared/mac/MediaFormatReader/MediaSampleCursor.cpp: (WebKit::MediaSampleCursor::copySampleLocation const): * WebProcess/GPU/graphics/DisplayListWriterHandle.cpp: (WebKit::DisplayListWriterHandle::advance): * WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp: (WebKit::ImageBufferShareableBitmapBackend::calculateBytesPerRow): * WebProcess/GPU/media/RemoteImageDecoderAVF.cpp: (WebKit::RemoteImageDecoderAVF::frameBytesAtIndex const): * WebProcess/Network/WebSocketChannel.cpp: (WebKit::WebSocketChannel::increaseBufferedAmount): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::requestEvasionRectsAboveSelection): (WebKit::WebPage::updateSelectionWithDelta): Source/WTF: * wtf/CheckedArithmetic.h: (WTF::Checked::operator! const): (WTF::Checked::operator bool const): (WTF::Checked::operator T const): (WTF::Checked::value const): (WTF::Checked::operator==): (WTF::Checked::operator< const): (WTF::Checked::operator<= const): (WTF::Checked::operator> const): (WTF::Checked::operator>= const): * wtf/ConcurrentBuffer.h: * wtf/FastMalloc.cpp: (WTF::fastCalloc): (WTF::tryFastCalloc): * wtf/Gigacage.cpp: (Gigacage::tryMallocArray): * wtf/URLHelpers.cpp: (WTF::URLHelpers::userVisibleURL): * wtf/URLParser.cpp: (WTF::URLParser::parseIPv4Piece): * wtf/UniqueArray.h: * wtf/cocoa/NSURLExtras.mm: (WTF::dataWithUserTypedString): * wtf/glib/SocketConnection.cpp: (WTF::SocketConnection::readMessage): (WTF::SocketConnection::sendMessage): * wtf/text/CString.cpp: (WTF::CStringBuffer::createUninitialized): * wtf/text/StringBuffer.h: (WTF::StringBuffer::StringBuffer): * wtf/text/StringBuilderJSON.cpp: (WTF::StringBuilder::appendQuotedJSONString): * wtf/text/StringConcatenate.h: (WTF::tryMakeStringFromAdapters): * wtf/text/StringImpl.h: (WTF::StringImpl::allocationSize): * wtf/text/StringToIntegerConversion.h: (WTF::parseInteger): Tools: * TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp: (TestWebKitAPI::CheckedArithmeticTester::run): (TestWebKitAPI::AllowMixedSignednessTest::run): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/IntRectTests.cpp: (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebCore/IntSizeTests.cpp: (TestWebKitAPI::TEST): Canonical link: https://commits.webkit.org/238371@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278338 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-02 05:21:13 +00:00
unsigned arraySize = checkedArraySize; // Crashes if overflowed.
Audit and fix incorrect uses of JSArray::tryCreateForInitializationPrivate(). https://bugs.webkit.org/show_bug.cgi?id=171344 <rdar://problem/31352667> Reviewed by Filip Pizlo. JSArray::tryCreateForInitializationPrivate() should only be used in performance critical paths, and should always be used with care because it creates an uninitialized object that needs to be initialized by its client before the object can be released into the system. Before the object is fully initialized: a. the client should not re-enter the VM to execute JS code, and b. GC should not run. This is because until the object is fully initialized, it is an inconsistent state that the GC and JS code will not be happy about. In this patch, we do the following: 1. Renamed JSArray::tryCreateForInitializationPrivate() to JSArray::tryCreateUninitializedRestricted() because "private" is a bit ambiguous and can be confused with APIs that are called freely within WebKit but are not meant for clients of WebKit. In this case, we intend for use of this API to be restricted to only a few carefully considered and crafted cases. 2. Introduce the ObjectInitializationScope RAII object which covers the period when the uninitialized object is created and gets initialized. ObjectInitializationScope will asserts that either the object is created fully initialized (in the case where the object structure is not an "original" structure) or if created uninitialized, is fully initialized at the end of the scope. If the object is created uninitialized, the ObjectInitializationScope also ensures that we do not GC nor re-enter the VM to execute JS code. This is achieved by enabling DisallowGC and DisallowVMReentry scopes. tryCreateUninitializedRestricted() and initializeIndex() now requires an ObjectInitializationScope instance. The ObjectInitializationScope replaces the VM& argument because it can be used to pass the VM& itself. This is a small optimization that makes passing the ObjectInitializationScope free even on release builds. 3. Factored a DisallowScope out of DisallowGC, and make DisallowGC extend it. Introduce a DisallowVMReentry class that extends DisallowScope. 4. Fixed a bug found by the ObjectInitializationScope. The bug is that there are scenarios where the structure passed to tryCreateUninitializedRestricted() that may not be an "original" structure. As a result, initializeIndex() would end up allocating new structures, and therefore trigger a GC. The fix is to detect that the structure passed to tryCreateUninitializedRestricted() is not an "original" one, and pre-initialize the array with 0s. This bug was detected by existing tests. Hence, no new test needed. 5. Replaced all inappropriate uses of tryCreateUninitializedRestricted() with tryCreate(). Inappropriate uses here means code that is not in performance critical paths. Similarly, replaced accompanying uses of initializeIndex() with putDirectIndex(). This patch is performance neutral (according to the JSC command line benchmarks). * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * dfg/DFGOperations.cpp: * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/DeferGC.cpp: * heap/DeferGC.h: (JSC::DisallowGC::DisallowGC): (JSC::DisallowGC::initialize): (JSC::DisallowGC::scopeReentryCount): (JSC::DisallowGC::setScopeReentryCount): (JSC::DisallowGC::~DisallowGC): Deleted. (JSC::DisallowGC::isGCDisallowedOnCurrentThread): Deleted. * heap/GCDeferralContextInlines.h: (JSC::GCDeferralContext::~GCDeferralContext): * heap/Heap.cpp: (JSC::Heap::collectIfNecessaryOrDefer): * runtime/ArrayPrototype.cpp: (JSC::arrayProtoPrivateFuncConcatMemcpy): * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createByCopyingFrom): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/DisallowScope.h: Added. (JSC::DisallowScope::DisallowScope): (JSC::DisallowScope::~DisallowScope): (JSC::DisallowScope::isInEffectOnCurrentThread): (JSC::DisallowScope::enable): (JSC::DisallowScope::enterScope): (JSC::DisallowScope::exitScope): * runtime/DisallowVMReentry.cpp: Added. * runtime/DisallowVMReentry.h: Added. (JSC::DisallowVMReentry::DisallowVMReentry): (JSC::DisallowVMReentry::initialize): (JSC::DisallowVMReentry::scopeReentryCount): (JSC::DisallowVMReentry::setScopeReentryCount): * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/JSArray.cpp: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::fastSlice): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. * runtime/JSArray.h: (JSC::JSArray::tryCreateUninitializedRestricted): (JSC::JSArray::tryCreate): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSArray::tryCreateForInitializationPrivate): Deleted. (JSC::createArrayButterfly): Deleted. * runtime/JSCellInlines.h: (JSC::allocateCell): * runtime/JSObject.h: (JSC::JSObject::initializeIndex): (JSC::JSObject::initializeIndexWithoutBarrier): * runtime/ObjectInitializationScope.cpp: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::~ObjectInitializationScope): (JSC::ObjectInitializationScope::notifyAllocated): (JSC::ObjectInitializationScope::verifyPropertiesAreInitialized): * runtime/ObjectInitializationScope.h: Added. (JSC::ObjectInitializationScope::ObjectInitializationScope): (JSC::ObjectInitializationScope::vm): (JSC::ObjectInitializationScope::notifyAllocated): * runtime/Operations.h: (JSC::isScribbledValue): (JSC::scribble): * runtime/RegExpMatchesArray.cpp: (JSC::createEmptyRegExpMatchesArray): * runtime/RegExpMatchesArray.h: (JSC::tryCreateUninitializedRegExpMatchesArray): (JSC::createRegExpMatchesArray): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): Canonical link: https://commits.webkit.org/188279@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@215885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-04-27 19:24:07 +00:00
JSArray* result = JSArray::tryCreate(vm, structure, arraySize);
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
RELEASE_ASSERT(result);
PerformanceTests: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * JetStream2/wasm/HashSet.cpp: * StitchMarker/wtf/Assertions.h: * StitchMarker/wtf/DateMath.cpp: (WTF::initializeDates): * StitchMarker/wtf/HashTable.h: * StitchMarker/wtf/Hasher.h: (WTF::StringHasher::addCharacters): * StitchMarker/wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * StitchMarker/wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * StitchMarker/wtf/ValueCheck.h: * StitchMarker/wtf/Vector.h: (WTF::minCapacity>::checkConsistency): * StitchMarker/wtf/text/AtomicStringImpl.cpp: * StitchMarker/wtf/text/AtomicStringImpl.h: * StitchMarker/wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * StitchMarker/wtf/text/StringImpl.h: * StitchMarker/wtf/text/SymbolImpl.h: * StitchMarker/wtf/text/UniquedStringImpl.h: Source/JavaScriptCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * API/tests/testapi.c: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithLoad): (JSC::ARM64Assembler::replaceWithAddressComputation): * assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::LocalWriter::LocalWriter): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/ProbeStack.cpp: (JSC::Probe::Stack::Stack): * assembler/ProbeStack.h: * b3/B3FoldPathConstants.cpp: * b3/B3LowerToAir.cpp: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::MemoryValue): * b3/B3Opcode.cpp: * b3/B3Type.h: * b3/B3TypeMap.h: * b3/B3Width.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirArg.cpp: * b3/air/AirArg.h: * b3/air/AirCode.h: * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * bytecode/AccessCase.cpp: * bytecode/AccessCase.h: * bytecode/CallVariant.cpp: (JSC::variantListWithVariant): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex): * bytecode/CodeBlockHash.cpp: (JSC::CodeBlockHash::dump const): * bytecode/StructureStubInfo.cpp: * bytecode/StructureStubInfo.h: * bytecompiler/NodesCodegen.cpp: (JSC::FunctionCallResolveNode::emitBytecode): * bytecompiler/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setIndex): * debugger/Debugger.cpp: (JSC::Debugger::removeBreakpoint): * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions): * dfg/DFGAbstractValue.cpp: * dfg/DFGAbstractValue.h: (JSC::DFG::AbstractValue::merge): (JSC::DFG::AbstractValue::checkConsistency const): (JSC::DFG::AbstractValue::assertIsRegistered const): * dfg/DFGArithMode.h: (JSC::DFG::doesOverflow): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::didLink): * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::performBlockCFA): * dfg/DFGCommon.h: (JSC::DFG::validationEnabled): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::finalizeCatchEntrypoints): * dfg/DFGDesiredWatchpoints.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGEdge.h: (JSC::DFG::Edge::makeWord): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::finalizeOSREntrypoints): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGScoreBoard.h: (JSC::DFG::ScoreBoard::assertClear): * dfg/DFGSlowPathGenerator.h: (JSC::DFG::SlowPathGenerator::generate): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): (JSC::DFG::SpeculativeJIT::emitAllocateButterfly): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateCell): * dfg/DFGStructureAbstractValue.cpp: * dfg/DFGStructureAbstractValue.h: (JSC::DFG::StructureAbstractValue::assertIsRegistered const): * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVirtualRegisterAllocationPhase.cpp: (JSC::DFG::VirtualRegisterAllocationPhase::run): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): (JSC::FTL::DFG::LowerDFGToB3::crash): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/BlockDirectory.cpp: (JSC::BlockDirectory::assertNoUnswept): * heap/GCSegmentedArray.h: (JSC::GCArraySegment::GCArraySegment): * heap/GCSegmentedArrayInlines.h: (JSC::GCSegmentedArray<T>::clear): (JSC::GCSegmentedArray<T>::expand): (JSC::GCSegmentedArray<T>::validatePrevious): * heap/HandleSet.cpp: * heap/HandleSet.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/MarkedBlock.cpp: * heap/MarkedBlock.h: (JSC::MarkedBlock::assertValidCell const): (JSC::MarkedBlock::assertMarksNotStale): * heap/MarkedSpace.cpp: (JSC::MarkedSpace::beginMarking): (JSC::MarkedSpace::endMarking): (JSC::MarkedSpace::assertNoUnswept): * heap/PreciseAllocation.cpp: * heap/PreciseAllocation.h: (JSC::PreciseAllocation::assertValidCell const): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::SlotVisitor): (JSC::SlotVisitor::appendJSCellOrAuxiliary): * heap/SlotVisitor.h: * inspector/InspectorProtocolTypes.h: (Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): (CppProtocolTypesImplementationGenerator): (CppProtocolTypesImplementationGenerator._generate_assertion_for_enum): * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result: * interpreter/FrameTracers.h: (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): * interpreter/Interpreter.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupStubArgs): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::emitDeltaCheck): (JSC::CallFrameShuffler::prepareAny): * jit/JIT.cpp: (JSC::JIT::assertStackPointerOffset): (JSC::JIT::compileWithoutLinking): * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_hint): * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/Repatch.cpp: (JSC::linkPolymorphicCall): * jit/ThunkGenerators.cpp: (JSC::emitPointerValidation): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LLIntOfflineAsmConfig.h: * parser/Lexer.cpp: * parser/Lexer.h: (JSC::isSafeBuiltinIdentifier): (JSC::Lexer<T>::lexExpectIdentifier): * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): (JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): * runtime/Butterfly.h: (JSC::ContiguousData::ContiguousData): (JSC::ContiguousData::Data::Data): * runtime/HashMapImpl.h: (JSC::HashMapImpl::checkConsistency const): (JSC::HashMapImpl::assertBufferIsEmpty const): * runtime/JSCellInlines.h: (JSC::JSCell::methodTable const): * runtime/JSFunction.cpp: * runtime/JSFunction.h: (JSC::JSFunction::assertTypeInfoFlagInvariants): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSObject.cpp: (JSC::JSObject::visitChildren): (JSC::JSFinalObject::visitChildren): * runtime/JSObjectInlines.h: (JSC::JSObject::validatePutOwnDataProperty): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::Lexer::lex): * runtime/LiteralParser.h: * runtime/Operations.h: (JSC::scribbleFreeCells): * runtime/OptionsList.h: * runtime/VM.cpp: (JSC::VM::computeCanUseJIT): * runtime/VM.h: (JSC::VM::canUseJIT): * runtime/VarOffset.h: (JSC::VarOffset::checkSanity const): * runtime/WeakMapImpl.h: (JSC::WeakMapImpl::checkConsistency const): (JSC::WeakMapImpl::assertBufferIsEmpty const): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::validateInst): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::validationFail const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::checkConsistency): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast): * wasm/WasmSectionParser.h: * wasm/WasmSections.h: * wasm/WasmSignatureInlines.h: (JSC::Wasm::SignatureInformation::get): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): Source/WebCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/webdatabase/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::operator=): * Modules/webdatabase/DatabaseTask.cpp: (WebCore::DatabaseTask::performTask): * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseThread::terminationRequested const): * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: (WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation): * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: (WebCore::WHLSL::findHighZombies): * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: (WebCore::WHLSL::matches): * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: (WebCore::WHLSL::checkLiteralTypes): * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: (WebCore::WHLSL::FindAllTypes::appendNamedType): * bindings/js/JSCallbackData.h: * bindings/js/JSLazyEventListener.cpp: * bindings/js/JSLazyEventListener.h: * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcOperationNode::primitiveType const): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSStyleSheet.cpp: * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::suspendIfNeeded): (WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const): * dom/ActiveDOMObject.h: * dom/ContainerNode.cpp: * dom/ContainerNodeAlgorithms.cpp: * dom/ContainerNodeAlgorithms.h: * dom/CustomElementReactionQueue.cpp: * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope): (WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope): * dom/Document.cpp: (WebCore::Document::hitTest): * dom/Document.h: (WebCore::Document::decrementReferencingNodeCount): * dom/Element.cpp: (WebCore::Element::addShadowRoot): (WebCore::Element::getURLAttribute const): (WebCore::Element::getNonEmptyURLAttribute const): * dom/Element.h: * dom/ElementAndTextDescendantIterator.h: (WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator): (WebCore::ElementAndTextDescendantIterator::dropAssertions): (WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack): (WebCore::ElementAndTextDescendantIterator::traverseNextSibling): (WebCore::ElementAndTextDescendantIterator::traversePreviousSibling): * dom/ElementDescendantIterator.h: (WebCore::ElementDescendantIterator::ElementDescendantIterator): (WebCore::ElementDescendantIterator::dropAssertions): (WebCore::ElementDescendantIterator::operator++): (WebCore::ElementDescendantIterator::operator--): (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator): (WebCore::ElementDescendantConstIterator::dropAssertions): (WebCore::ElementDescendantConstIterator::operator++): * dom/ElementIterator.h: (WebCore::ElementIterator<ElementType>::ElementIterator): (WebCore::ElementIterator<ElementType>::traverseNext): (WebCore::ElementIterator<ElementType>::traversePrevious): (WebCore::ElementIterator<ElementType>::traverseNextSibling): (WebCore::ElementIterator<ElementType>::traversePreviousSibling): (WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementIterator<ElementType>::dropAssertions): (WebCore::ElementIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::ElementConstIterator): (WebCore::ElementConstIterator<ElementType>::traverseNext): (WebCore::ElementConstIterator<ElementType>::traversePrevious): (WebCore::ElementConstIterator<ElementType>::traverseNextSibling): (WebCore::ElementConstIterator<ElementType>::traversePreviousSibling): (WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementConstIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::dropAssertions): * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventListener.h: * dom/EventPath.cpp: * dom/EventSender.h: * dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::setAttributeEventListener): (WebCore::EventTarget::innerInvokeEventListeners): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::moveNodeToNewDocument): (WebCore::Node::removedLastRef): * dom/Node.h: (WebCore::Node::deref const): * dom/ScriptDisallowedScope.h: (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): * dom/ScriptExecutionContext.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::execute const): * dom/SlotAssignment.cpp: (WebCore::SlotAssignment::addSlotElementByName): (WebCore::SlotAssignment::removeSlotElementByName): (WebCore::SlotAssignment::resolveSlotsAfterSlotMutation): (WebCore::SlotAssignment::findFirstSlotElement): * dom/SlotAssignment.h: * dom/TreeScopeOrderedMap.cpp: (WebCore::TreeScopeOrderedMap::add): (WebCore::TreeScopeOrderedMap::get const): * dom/TreeScopeOrderedMap.h: * fileapi/Blob.cpp: * fileapi/Blob.h: * history/BackForwardCache.cpp: (WebCore::BackForwardCache::removeAllItemsForPage): * history/BackForwardCache.h: * html/CanvasBase.cpp: (WebCore::CanvasBase::notifyObserversCanvasDestroyed): * html/CanvasBase.h: * html/HTMLCollection.h: (WebCore::CollectionNamedElementCache::didPopulate): * html/HTMLSelectElement.cpp: (WebCore:: const): * html/HTMLTableRowsCollection.cpp: (WebCore::assertRowIsInTable): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::indexForPosition const): * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase): * html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler): (WebCore::HTMLParserScheduler::suspend): (WebCore::HTMLParserScheduler::resume): * html/parser/HTMLParserScheduler.h: * html/parser/HTMLToken.h: (WebCore::HTMLToken::beginStartTag): (WebCore::HTMLToken::beginEndTag): (WebCore::HTMLToken::endAttribute): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::constructTree): * html/parser/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): * layout/FormattingContext.cpp: (WebCore::Layout::FormattingContext::geometryForBox const): * layout/blockformatting/BlockFormattingContext.cpp: (WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition): * layout/blockformatting/BlockFormattingContext.h: * layout/displaytree/DisplayBox.cpp: (WebCore::Display::Box::Box): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::setTopLeft): (WebCore::Display::Box::setTop): (WebCore::Display::Box::setLeft): (WebCore::Display::Box::setContentBoxHeight): (WebCore::Display::Box::setContentBoxWidth): (WebCore::Display::Box::setHorizontalMargin): (WebCore::Display::Box::setVerticalMargin): (WebCore::Display::Box::setHorizontalComputedMargin): (WebCore::Display::Box::setBorder): (WebCore::Display::Box::setPadding): * layout/displaytree/DisplayInlineRect.h: (WebCore::Display::InlineRect::InlineRect): (WebCore::Display::InlineRect::setTopLeft): (WebCore::Display::InlineRect::setTop): (WebCore::Display::InlineRect::setBottom): (WebCore::Display::InlineRect::setLeft): (WebCore::Display::InlineRect::setWidth): (WebCore::Display::InlineRect::setHeight): * layout/displaytree/DisplayLineBox.h: (WebCore::Display::LineBox::LineBox): (WebCore::Display::LineBox::setBaselineOffsetIfGreater): (WebCore::Display::LineBox::resetBaseline): (WebCore::Display::LineBox::Baseline::Baseline): (WebCore::Display::LineBox::Baseline::setAscent): (WebCore::Display::LineBox::Baseline::setDescent): (WebCore::Display::LineBox::Baseline::reset): * layout/displaytree/DisplayRect.h: (WebCore::Display::Rect::Rect): (WebCore::Display::Rect::setTopLeft): (WebCore::Display::Rect::setTop): (WebCore::Display::Rect::setLeft): (WebCore::Display::Rect::setWidth): (WebCore::Display::Rect::setHeight): (WebCore::Display::Rect::setSize): (WebCore::Display::Rect::clone const): * layout/floats/FloatingContext.cpp: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::CollapsibleContent::collapse): * layout/tableformatting/TableGrid.cpp: (WebCore::Layout::TableGrid::Column::setWidthConstraints): (WebCore::Layout::TableGrid::Column::setLogicalWidth): (WebCore::Layout::TableGrid::Column::setLogicalLeft): * layout/tableformatting/TableGrid.h: * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::addSubresourceLoader): * loader/DocumentLoader.h: * loader/ImageLoader.cpp: * loader/cache/CachedResource.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::lruListFor): (WebCore::MemoryCache::removeFromLRUList): * page/FrameView.cpp: (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): * page/FrameViewLayoutContext.cpp: * page/FrameViewLayoutContext.h: * page/Page.cpp: * page/Page.h: * page/ViewportConfiguration.cpp: * page/ViewportConfiguration.h: * page/mac/EventHandlerMac.mm: (WebCore::CurrentEventScope::CurrentEventScope): * platform/DateComponents.cpp: (WebCore::DateComponents::toStringForTime const): * platform/ScrollableArea.cpp: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::combineIntoOneSegment const): * platform/SharedBuffer.h: * platform/Supplementable.h: * platform/Timer.cpp: (WebCore::TimerBase::checkHeapIndex const): (WebCore::TimerBase::updateHeapIfNeeded): * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Image.h: * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::getScratchBuffer): (WebCore::ScratchBuffer::scheduleScratchBufferPurge): * platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::setWindow): * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/cg/ImageBufferDataCG.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/cocoa/FontCacheCoreText.cpp: * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: (gstAllocatorFastMallocFree): * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: (Nicosia::PaintingContextCairo::ForPainting::ForPainting): * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp: (Nicosia::BackingStoreTextureMapperImpl::createTile): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl): * platform/graphics/win/GradientDirect2D.cpp: (WebCore::Gradient::fill): * platform/graphics/win/ImageBufferDataDirect2D.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::appendGeometry): (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::strokeContains const): (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::setTags): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource): * platform/network/HTTPParsers.cpp: (WebCore::isCrossOriginSafeHeader): * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::SQLiteStatement): (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::finalize): * platform/sql/SQLiteStatement.h: * platform/win/COMPtr.h: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::removeInlineBox const): * rendering/FloatingObjects.cpp: (WebCore::FloatingObject::FloatingObject): (WebCore::FloatingObjects::addPlacedObject): (WebCore::FloatingObjects::removePlacedObject): * rendering/FloatingObjects.h: * rendering/GridTrackSizingAlgorithm.cpp: * rendering/GridTrackSizingAlgorithm.h: * rendering/LayoutDisallowedScope.cpp: * rendering/LayoutDisallowedScope.h: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlockChild): (WebCore::RenderBlockFlow::removeFloatingObject): (WebCore::RenderBlockFlow::ensureLineBoxes): * rendering/RenderBoxModelObject.cpp: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderElement.cpp: * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToContainer const): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::placeItemsOnGrid const): (WebCore::RenderGrid::baselinePosition const): * rendering/RenderInline.cpp: (WebCore::RenderInline::willBeDestroyed): * rendering/RenderLayer.cpp: (WebCore::ClipRectsCache::ClipRectsCache): (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::traverseVisibleNonCompositedDescendantLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateBackingAndHierarchy): (WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): (WebCore::RenderLayerCompositor::layerHas3DContent const): * rendering/RenderLayoutState.cpp: (WebCore::RenderLayoutState::RenderLayoutState): (WebCore::RenderLayoutState::computeOffsets): (WebCore::RenderLayoutState::addLayoutDelta): * rendering/RenderLayoutState.h: (WebCore::RenderLayoutState::RenderLayoutState): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject): (WebCore::RenderObject::clearNeedsLayout): * rendering/RenderObject.h: * rendering/RenderQuote.cpp: (WebCore::quotesForLanguage): * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::computeOverflowFromCells): * rendering/RenderTextLineBoxes.cpp: (WebCore::RenderTextLineBoxes::checkConsistency const): * rendering/RenderTextLineBoxes.h: * rendering/line/BreakingContext.h: (WebCore::tryHyphenating): * rendering/style/GridArea.h: (WebCore::GridSpan::GridSpan): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::~RenderStyle): * rendering/style/RenderStyle.h: * rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::RenderTreeBuilder::Ruby::detach): * rendering/updating/RenderTreePosition.cpp: (WebCore::RenderTreePosition::computeNextSibling): * rendering/updating/RenderTreePosition.h: * svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): (WebCore::SVGToOTFFontConverter::Placeholder::populate): (WebCore::SVGToOTFFontConverter::appendCFFTable): (WebCore::SVGToOTFFontConverter::firstGlyph const): (WebCore::SVGToOTFFontConverter::appendKERNTable): * svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance): (WebCore::SVGTransformDistance::scaledDistance const): (WebCore::SVGTransformDistance::addSVGTransforms): (WebCore::SVGTransformDistance::addToSVGTransform const): (WebCore::SVGTransformDistance::distance const): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImage): * testing/InternalSettings.cpp: * workers/service/ServiceWorkerJob.h: * worklets/PaintWorkletGlobalScope.h: (WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope): * xml/XPathStep.cpp: Source/WebKit: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::invalidateAndCancel): * NetworkProcess/NetworkSession.h: * NetworkProcess/cache/NetworkCacheStorage.cpp: (WebKit::NetworkCache::Storage::setCapacity): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (toNSURLSessionResponseDisposition): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Platform/IPC/Connection.cpp: (IPC::Connection::waitForMessage): * Platform/IPC/MessageReceiver.h: (IPC::MessageReceiver::willBeAddedToMessageReceiverMap): (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap): * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::readFromMachPort): * Platform/mac/MachUtilities.cpp: (setMachExceptionPort): * Shared/API/APIClient.h: (API::Client::Client): * Shared/API/Cocoa/WKRemoteObjectCoder.mm: * Shared/Cocoa/ArgumentCodersCocoa.h: * Shared/SharedStringHashTableReadOnly.cpp: * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): * UIProcess/GenericCallback.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::launchProcess): * UIProcess/PageLoadState.h: (WebKit::PageLoadState::Transaction::Token::Token): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveResponse): * WebProcess/Network/WebResourceLoader.h: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: (WebKit::NetscapePluginStream::NetscapePluginStream): (WebKit::NetscapePluginStream::notifyAndDestroyStream): * WebProcess/Plugins/Netscape/NetscapePluginStream.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runModal): * WebProcess/WebProcess.cpp: (WebKit::checkDocumentsCaptureStateConsistency): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::updateProcessName): Source/WebKitLegacy: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::StorageAreaImpl): (WebKit::StorageAreaImpl::close): * Storage/StorageAreaImpl.h: Source/WebKitLegacy/mac: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * History/WebHistory.mm: (-[WebHistoryPrivate removeItemForURLString:]): * WebView/WebFrame.mm: Source/WebKitLegacy/win: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * WebKitQuartzCoreAdditions/CAD3DRenderer.cpp: (WKQCA::CAD3DRenderer::swapChain): (WKQCA::CAD3DRenderer::initialize): * WebKitQuartzCoreAdditions/CAD3DRenderer.h: * WebView.cpp: (WebView::Release): * WebView.h: Source/WTF: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. This patch did the following changes: 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability. In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents as well. We'll do that in another patch. For now, they are left as is to minimize the size of this patch. See https://bugs.webkit.org/show_bug.cgi?id=205780. 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead. 3. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". * wtf/Assertions.h: * wtf/AutomaticThread.cpp: (WTF::AutomaticThread::start): * wtf/BitVector.h: * wtf/BlockObjCExceptions.mm: (ReportBlockedObjCException): * wtf/BloomFilter.h: * wtf/CallbackAggregator.h: (WTF::CallbackAggregator::CallbackAggregator): * wtf/CheckedArithmetic.h: (WTF::observesOverflow<AssertNoOverflow>): * wtf/CheckedBoolean.h: (CheckedBoolean::CheckedBoolean): (CheckedBoolean::operator bool): * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): * wtf/DateMath.cpp: (WTF::initializeDates): * wtf/Gigacage.cpp: (Gigacage::tryAllocateZeroedVirtualPages): * wtf/HashTable.h: (WTF::KeyTraits>::checkKey): (WTF::KeyTraits>::checkTableConsistencyExceptSize const): * wtf/LoggerHelper.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::headerOf const): * wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * wtf/OptionSet.h: (WTF::OptionSet::OptionSet): * wtf/Platform.h: * wtf/PtrTag.h: * wtf/RefCounted.h: (WTF::RefCountedBase::disableThreadingChecks): (WTF::RefCountedBase::enableThreadingChecksGlobally): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::applyRefDerefThreadingCheck const): * wtf/SingleRootGraph.h: (WTF::SingleRootGraph::assertIsConsistent const): * wtf/SizeLimits.cpp: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/URLParser.cpp: (WTF::URLParser::URLParser): (WTF::URLParser::domainToASCII): * wtf/ValueCheck.h: * wtf/Vector.h: (WTF::Malloc>::checkConsistency): * wtf/WeakHashSet.h: * wtf/WeakPtr.h: (WTF::WeakPtrImpl::WeakPtrImpl): (WTF::WeakPtrFactory::WeakPtrFactory): * wtf/text/AtomStringImpl.cpp: * wtf/text/AtomStringImpl.h: * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::reifyString const): * wtf/text/StringBuilder.h: * wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * wtf/text/StringHasher.h: (WTF::StringHasher::addCharacters): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: * wtf/text/UniquedStringImpl.h: Tools: Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory https://bugs.webkit.org/show_bug.cgi?id=205754 Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): Canonical link: https://commits.webkit.org/218957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 22:24:50 +00:00
#if ASSERT_ENABLED
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
// Ensure we see indices for everything in the range: [0, numProperties)
for (unsigned i = 0; i < numProperties; ++i) {
bool found = false;
for (unsigned j = 0; j < materialization->properties().size(); ++j) {
const ExitPropertyValue& property = materialization->properties()[j];
if (property.location().kind() == NewArrayWithSpreadArgumentPLoc && property.location().info() == i) {
found = true;
break;
}
}
ASSERT(found);
}
PerformanceTests: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * JetStream2/wasm/HashSet.cpp: * StitchMarker/wtf/Assertions.h: * StitchMarker/wtf/DateMath.cpp: (WTF::initializeDates): * StitchMarker/wtf/HashTable.h: * StitchMarker/wtf/Hasher.h: (WTF::StringHasher::addCharacters): * StitchMarker/wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * StitchMarker/wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * StitchMarker/wtf/ValueCheck.h: * StitchMarker/wtf/Vector.h: (WTF::minCapacity>::checkConsistency): * StitchMarker/wtf/text/AtomicStringImpl.cpp: * StitchMarker/wtf/text/AtomicStringImpl.h: * StitchMarker/wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * StitchMarker/wtf/text/StringImpl.h: * StitchMarker/wtf/text/SymbolImpl.h: * StitchMarker/wtf/text/UniquedStringImpl.h: Source/JavaScriptCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * API/tests/testapi.c: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithLoad): (JSC::ARM64Assembler::replaceWithAddressComputation): * assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::LocalWriter::LocalWriter): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/ProbeStack.cpp: (JSC::Probe::Stack::Stack): * assembler/ProbeStack.h: * b3/B3FoldPathConstants.cpp: * b3/B3LowerToAir.cpp: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::MemoryValue): * b3/B3Opcode.cpp: * b3/B3Type.h: * b3/B3TypeMap.h: * b3/B3Width.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirArg.cpp: * b3/air/AirArg.h: * b3/air/AirCode.h: * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * bytecode/AccessCase.cpp: * bytecode/AccessCase.h: * bytecode/CallVariant.cpp: (JSC::variantListWithVariant): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex): * bytecode/CodeBlockHash.cpp: (JSC::CodeBlockHash::dump const): * bytecode/StructureStubInfo.cpp: * bytecode/StructureStubInfo.h: * bytecompiler/NodesCodegen.cpp: (JSC::FunctionCallResolveNode::emitBytecode): * bytecompiler/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setIndex): * debugger/Debugger.cpp: (JSC::Debugger::removeBreakpoint): * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions): * dfg/DFGAbstractValue.cpp: * dfg/DFGAbstractValue.h: (JSC::DFG::AbstractValue::merge): (JSC::DFG::AbstractValue::checkConsistency const): (JSC::DFG::AbstractValue::assertIsRegistered const): * dfg/DFGArithMode.h: (JSC::DFG::doesOverflow): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::didLink): * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::performBlockCFA): * dfg/DFGCommon.h: (JSC::DFG::validationEnabled): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::finalizeCatchEntrypoints): * dfg/DFGDesiredWatchpoints.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGEdge.h: (JSC::DFG::Edge::makeWord): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::finalizeOSREntrypoints): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGScoreBoard.h: (JSC::DFG::ScoreBoard::assertClear): * dfg/DFGSlowPathGenerator.h: (JSC::DFG::SlowPathGenerator::generate): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): (JSC::DFG::SpeculativeJIT::emitAllocateButterfly): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateCell): * dfg/DFGStructureAbstractValue.cpp: * dfg/DFGStructureAbstractValue.h: (JSC::DFG::StructureAbstractValue::assertIsRegistered const): * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVirtualRegisterAllocationPhase.cpp: (JSC::DFG::VirtualRegisterAllocationPhase::run): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): (JSC::FTL::DFG::LowerDFGToB3::crash): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/BlockDirectory.cpp: (JSC::BlockDirectory::assertNoUnswept): * heap/GCSegmentedArray.h: (JSC::GCArraySegment::GCArraySegment): * heap/GCSegmentedArrayInlines.h: (JSC::GCSegmentedArray<T>::clear): (JSC::GCSegmentedArray<T>::expand): (JSC::GCSegmentedArray<T>::validatePrevious): * heap/HandleSet.cpp: * heap/HandleSet.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/MarkedBlock.cpp: * heap/MarkedBlock.h: (JSC::MarkedBlock::assertValidCell const): (JSC::MarkedBlock::assertMarksNotStale): * heap/MarkedSpace.cpp: (JSC::MarkedSpace::beginMarking): (JSC::MarkedSpace::endMarking): (JSC::MarkedSpace::assertNoUnswept): * heap/PreciseAllocation.cpp: * heap/PreciseAllocation.h: (JSC::PreciseAllocation::assertValidCell const): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::SlotVisitor): (JSC::SlotVisitor::appendJSCellOrAuxiliary): * heap/SlotVisitor.h: * inspector/InspectorProtocolTypes.h: (Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): (CppProtocolTypesImplementationGenerator): (CppProtocolTypesImplementationGenerator._generate_assertion_for_enum): * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result: * interpreter/FrameTracers.h: (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): * interpreter/Interpreter.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupStubArgs): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::emitDeltaCheck): (JSC::CallFrameShuffler::prepareAny): * jit/JIT.cpp: (JSC::JIT::assertStackPointerOffset): (JSC::JIT::compileWithoutLinking): * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_hint): * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/Repatch.cpp: (JSC::linkPolymorphicCall): * jit/ThunkGenerators.cpp: (JSC::emitPointerValidation): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LLIntOfflineAsmConfig.h: * parser/Lexer.cpp: * parser/Lexer.h: (JSC::isSafeBuiltinIdentifier): (JSC::Lexer<T>::lexExpectIdentifier): * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): (JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): * runtime/Butterfly.h: (JSC::ContiguousData::ContiguousData): (JSC::ContiguousData::Data::Data): * runtime/HashMapImpl.h: (JSC::HashMapImpl::checkConsistency const): (JSC::HashMapImpl::assertBufferIsEmpty const): * runtime/JSCellInlines.h: (JSC::JSCell::methodTable const): * runtime/JSFunction.cpp: * runtime/JSFunction.h: (JSC::JSFunction::assertTypeInfoFlagInvariants): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSObject.cpp: (JSC::JSObject::visitChildren): (JSC::JSFinalObject::visitChildren): * runtime/JSObjectInlines.h: (JSC::JSObject::validatePutOwnDataProperty): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::Lexer::lex): * runtime/LiteralParser.h: * runtime/Operations.h: (JSC::scribbleFreeCells): * runtime/OptionsList.h: * runtime/VM.cpp: (JSC::VM::computeCanUseJIT): * runtime/VM.h: (JSC::VM::canUseJIT): * runtime/VarOffset.h: (JSC::VarOffset::checkSanity const): * runtime/WeakMapImpl.h: (JSC::WeakMapImpl::checkConsistency const): (JSC::WeakMapImpl::assertBufferIsEmpty const): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::validateInst): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::validationFail const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::checkConsistency): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast): * wasm/WasmSectionParser.h: * wasm/WasmSections.h: * wasm/WasmSignatureInlines.h: (JSC::Wasm::SignatureInformation::get): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): Source/WebCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/webdatabase/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::operator=): * Modules/webdatabase/DatabaseTask.cpp: (WebCore::DatabaseTask::performTask): * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseThread::terminationRequested const): * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: (WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation): * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: (WebCore::WHLSL::findHighZombies): * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: (WebCore::WHLSL::matches): * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: (WebCore::WHLSL::checkLiteralTypes): * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: (WebCore::WHLSL::FindAllTypes::appendNamedType): * bindings/js/JSCallbackData.h: * bindings/js/JSLazyEventListener.cpp: * bindings/js/JSLazyEventListener.h: * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcOperationNode::primitiveType const): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSStyleSheet.cpp: * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::suspendIfNeeded): (WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const): * dom/ActiveDOMObject.h: * dom/ContainerNode.cpp: * dom/ContainerNodeAlgorithms.cpp: * dom/ContainerNodeAlgorithms.h: * dom/CustomElementReactionQueue.cpp: * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope): (WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope): * dom/Document.cpp: (WebCore::Document::hitTest): * dom/Document.h: (WebCore::Document::decrementReferencingNodeCount): * dom/Element.cpp: (WebCore::Element::addShadowRoot): (WebCore::Element::getURLAttribute const): (WebCore::Element::getNonEmptyURLAttribute const): * dom/Element.h: * dom/ElementAndTextDescendantIterator.h: (WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator): (WebCore::ElementAndTextDescendantIterator::dropAssertions): (WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack): (WebCore::ElementAndTextDescendantIterator::traverseNextSibling): (WebCore::ElementAndTextDescendantIterator::traversePreviousSibling): * dom/ElementDescendantIterator.h: (WebCore::ElementDescendantIterator::ElementDescendantIterator): (WebCore::ElementDescendantIterator::dropAssertions): (WebCore::ElementDescendantIterator::operator++): (WebCore::ElementDescendantIterator::operator--): (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator): (WebCore::ElementDescendantConstIterator::dropAssertions): (WebCore::ElementDescendantConstIterator::operator++): * dom/ElementIterator.h: (WebCore::ElementIterator<ElementType>::ElementIterator): (WebCore::ElementIterator<ElementType>::traverseNext): (WebCore::ElementIterator<ElementType>::traversePrevious): (WebCore::ElementIterator<ElementType>::traverseNextSibling): (WebCore::ElementIterator<ElementType>::traversePreviousSibling): (WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementIterator<ElementType>::dropAssertions): (WebCore::ElementIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::ElementConstIterator): (WebCore::ElementConstIterator<ElementType>::traverseNext): (WebCore::ElementConstIterator<ElementType>::traversePrevious): (WebCore::ElementConstIterator<ElementType>::traverseNextSibling): (WebCore::ElementConstIterator<ElementType>::traversePreviousSibling): (WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementConstIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::dropAssertions): * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventListener.h: * dom/EventPath.cpp: * dom/EventSender.h: * dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::setAttributeEventListener): (WebCore::EventTarget::innerInvokeEventListeners): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::moveNodeToNewDocument): (WebCore::Node::removedLastRef): * dom/Node.h: (WebCore::Node::deref const): * dom/ScriptDisallowedScope.h: (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): * dom/ScriptExecutionContext.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::execute const): * dom/SlotAssignment.cpp: (WebCore::SlotAssignment::addSlotElementByName): (WebCore::SlotAssignment::removeSlotElementByName): (WebCore::SlotAssignment::resolveSlotsAfterSlotMutation): (WebCore::SlotAssignment::findFirstSlotElement): * dom/SlotAssignment.h: * dom/TreeScopeOrderedMap.cpp: (WebCore::TreeScopeOrderedMap::add): (WebCore::TreeScopeOrderedMap::get const): * dom/TreeScopeOrderedMap.h: * fileapi/Blob.cpp: * fileapi/Blob.h: * history/BackForwardCache.cpp: (WebCore::BackForwardCache::removeAllItemsForPage): * history/BackForwardCache.h: * html/CanvasBase.cpp: (WebCore::CanvasBase::notifyObserversCanvasDestroyed): * html/CanvasBase.h: * html/HTMLCollection.h: (WebCore::CollectionNamedElementCache::didPopulate): * html/HTMLSelectElement.cpp: (WebCore:: const): * html/HTMLTableRowsCollection.cpp: (WebCore::assertRowIsInTable): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::indexForPosition const): * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase): * html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler): (WebCore::HTMLParserScheduler::suspend): (WebCore::HTMLParserScheduler::resume): * html/parser/HTMLParserScheduler.h: * html/parser/HTMLToken.h: (WebCore::HTMLToken::beginStartTag): (WebCore::HTMLToken::beginEndTag): (WebCore::HTMLToken::endAttribute): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::constructTree): * html/parser/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): * layout/FormattingContext.cpp: (WebCore::Layout::FormattingContext::geometryForBox const): * layout/blockformatting/BlockFormattingContext.cpp: (WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition): * layout/blockformatting/BlockFormattingContext.h: * layout/displaytree/DisplayBox.cpp: (WebCore::Display::Box::Box): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::setTopLeft): (WebCore::Display::Box::setTop): (WebCore::Display::Box::setLeft): (WebCore::Display::Box::setContentBoxHeight): (WebCore::Display::Box::setContentBoxWidth): (WebCore::Display::Box::setHorizontalMargin): (WebCore::Display::Box::setVerticalMargin): (WebCore::Display::Box::setHorizontalComputedMargin): (WebCore::Display::Box::setBorder): (WebCore::Display::Box::setPadding): * layout/displaytree/DisplayInlineRect.h: (WebCore::Display::InlineRect::InlineRect): (WebCore::Display::InlineRect::setTopLeft): (WebCore::Display::InlineRect::setTop): (WebCore::Display::InlineRect::setBottom): (WebCore::Display::InlineRect::setLeft): (WebCore::Display::InlineRect::setWidth): (WebCore::Display::InlineRect::setHeight): * layout/displaytree/DisplayLineBox.h: (WebCore::Display::LineBox::LineBox): (WebCore::Display::LineBox::setBaselineOffsetIfGreater): (WebCore::Display::LineBox::resetBaseline): (WebCore::Display::LineBox::Baseline::Baseline): (WebCore::Display::LineBox::Baseline::setAscent): (WebCore::Display::LineBox::Baseline::setDescent): (WebCore::Display::LineBox::Baseline::reset): * layout/displaytree/DisplayRect.h: (WebCore::Display::Rect::Rect): (WebCore::Display::Rect::setTopLeft): (WebCore::Display::Rect::setTop): (WebCore::Display::Rect::setLeft): (WebCore::Display::Rect::setWidth): (WebCore::Display::Rect::setHeight): (WebCore::Display::Rect::setSize): (WebCore::Display::Rect::clone const): * layout/floats/FloatingContext.cpp: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::CollapsibleContent::collapse): * layout/tableformatting/TableGrid.cpp: (WebCore::Layout::TableGrid::Column::setWidthConstraints): (WebCore::Layout::TableGrid::Column::setLogicalWidth): (WebCore::Layout::TableGrid::Column::setLogicalLeft): * layout/tableformatting/TableGrid.h: * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::addSubresourceLoader): * loader/DocumentLoader.h: * loader/ImageLoader.cpp: * loader/cache/CachedResource.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::lruListFor): (WebCore::MemoryCache::removeFromLRUList): * page/FrameView.cpp: (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): * page/FrameViewLayoutContext.cpp: * page/FrameViewLayoutContext.h: * page/Page.cpp: * page/Page.h: * page/ViewportConfiguration.cpp: * page/ViewportConfiguration.h: * page/mac/EventHandlerMac.mm: (WebCore::CurrentEventScope::CurrentEventScope): * platform/DateComponents.cpp: (WebCore::DateComponents::toStringForTime const): * platform/ScrollableArea.cpp: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::combineIntoOneSegment const): * platform/SharedBuffer.h: * platform/Supplementable.h: * platform/Timer.cpp: (WebCore::TimerBase::checkHeapIndex const): (WebCore::TimerBase::updateHeapIfNeeded): * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Image.h: * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::getScratchBuffer): (WebCore::ScratchBuffer::scheduleScratchBufferPurge): * platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::setWindow): * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/cg/ImageBufferDataCG.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/cocoa/FontCacheCoreText.cpp: * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: (gstAllocatorFastMallocFree): * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: (Nicosia::PaintingContextCairo::ForPainting::ForPainting): * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp: (Nicosia::BackingStoreTextureMapperImpl::createTile): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl): * platform/graphics/win/GradientDirect2D.cpp: (WebCore::Gradient::fill): * platform/graphics/win/ImageBufferDataDirect2D.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::appendGeometry): (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::strokeContains const): (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::setTags): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource): * platform/network/HTTPParsers.cpp: (WebCore::isCrossOriginSafeHeader): * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::SQLiteStatement): (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::finalize): * platform/sql/SQLiteStatement.h: * platform/win/COMPtr.h: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::removeInlineBox const): * rendering/FloatingObjects.cpp: (WebCore::FloatingObject::FloatingObject): (WebCore::FloatingObjects::addPlacedObject): (WebCore::FloatingObjects::removePlacedObject): * rendering/FloatingObjects.h: * rendering/GridTrackSizingAlgorithm.cpp: * rendering/GridTrackSizingAlgorithm.h: * rendering/LayoutDisallowedScope.cpp: * rendering/LayoutDisallowedScope.h: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlockChild): (WebCore::RenderBlockFlow::removeFloatingObject): (WebCore::RenderBlockFlow::ensureLineBoxes): * rendering/RenderBoxModelObject.cpp: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderElement.cpp: * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToContainer const): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::placeItemsOnGrid const): (WebCore::RenderGrid::baselinePosition const): * rendering/RenderInline.cpp: (WebCore::RenderInline::willBeDestroyed): * rendering/RenderLayer.cpp: (WebCore::ClipRectsCache::ClipRectsCache): (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::traverseVisibleNonCompositedDescendantLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateBackingAndHierarchy): (WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): (WebCore::RenderLayerCompositor::layerHas3DContent const): * rendering/RenderLayoutState.cpp: (WebCore::RenderLayoutState::RenderLayoutState): (WebCore::RenderLayoutState::computeOffsets): (WebCore::RenderLayoutState::addLayoutDelta): * rendering/RenderLayoutState.h: (WebCore::RenderLayoutState::RenderLayoutState): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject): (WebCore::RenderObject::clearNeedsLayout): * rendering/RenderObject.h: * rendering/RenderQuote.cpp: (WebCore::quotesForLanguage): * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::computeOverflowFromCells): * rendering/RenderTextLineBoxes.cpp: (WebCore::RenderTextLineBoxes::checkConsistency const): * rendering/RenderTextLineBoxes.h: * rendering/line/BreakingContext.h: (WebCore::tryHyphenating): * rendering/style/GridArea.h: (WebCore::GridSpan::GridSpan): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::~RenderStyle): * rendering/style/RenderStyle.h: * rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::RenderTreeBuilder::Ruby::detach): * rendering/updating/RenderTreePosition.cpp: (WebCore::RenderTreePosition::computeNextSibling): * rendering/updating/RenderTreePosition.h: * svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): (WebCore::SVGToOTFFontConverter::Placeholder::populate): (WebCore::SVGToOTFFontConverter::appendCFFTable): (WebCore::SVGToOTFFontConverter::firstGlyph const): (WebCore::SVGToOTFFontConverter::appendKERNTable): * svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance): (WebCore::SVGTransformDistance::scaledDistance const): (WebCore::SVGTransformDistance::addSVGTransforms): (WebCore::SVGTransformDistance::addToSVGTransform const): (WebCore::SVGTransformDistance::distance const): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImage): * testing/InternalSettings.cpp: * workers/service/ServiceWorkerJob.h: * worklets/PaintWorkletGlobalScope.h: (WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope): * xml/XPathStep.cpp: Source/WebKit: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::invalidateAndCancel): * NetworkProcess/NetworkSession.h: * NetworkProcess/cache/NetworkCacheStorage.cpp: (WebKit::NetworkCache::Storage::setCapacity): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (toNSURLSessionResponseDisposition): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Platform/IPC/Connection.cpp: (IPC::Connection::waitForMessage): * Platform/IPC/MessageReceiver.h: (IPC::MessageReceiver::willBeAddedToMessageReceiverMap): (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap): * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::readFromMachPort): * Platform/mac/MachUtilities.cpp: (setMachExceptionPort): * Shared/API/APIClient.h: (API::Client::Client): * Shared/API/Cocoa/WKRemoteObjectCoder.mm: * Shared/Cocoa/ArgumentCodersCocoa.h: * Shared/SharedStringHashTableReadOnly.cpp: * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): * UIProcess/GenericCallback.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::launchProcess): * UIProcess/PageLoadState.h: (WebKit::PageLoadState::Transaction::Token::Token): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveResponse): * WebProcess/Network/WebResourceLoader.h: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: (WebKit::NetscapePluginStream::NetscapePluginStream): (WebKit::NetscapePluginStream::notifyAndDestroyStream): * WebProcess/Plugins/Netscape/NetscapePluginStream.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runModal): * WebProcess/WebProcess.cpp: (WebKit::checkDocumentsCaptureStateConsistency): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::updateProcessName): Source/WebKitLegacy: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::StorageAreaImpl): (WebKit::StorageAreaImpl::close): * Storage/StorageAreaImpl.h: Source/WebKitLegacy/mac: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * History/WebHistory.mm: (-[WebHistoryPrivate removeItemForURLString:]): * WebView/WebFrame.mm: Source/WebKitLegacy/win: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * WebKitQuartzCoreAdditions/CAD3DRenderer.cpp: (WKQCA::CAD3DRenderer::swapChain): (WKQCA::CAD3DRenderer::initialize): * WebKitQuartzCoreAdditions/CAD3DRenderer.h: * WebView.cpp: (WebView::Release): * WebView.h: Source/WTF: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. This patch did the following changes: 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability. In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents as well. We'll do that in another patch. For now, they are left as is to minimize the size of this patch. See https://bugs.webkit.org/show_bug.cgi?id=205780. 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead. 3. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". * wtf/Assertions.h: * wtf/AutomaticThread.cpp: (WTF::AutomaticThread::start): * wtf/BitVector.h: * wtf/BlockObjCExceptions.mm: (ReportBlockedObjCException): * wtf/BloomFilter.h: * wtf/CallbackAggregator.h: (WTF::CallbackAggregator::CallbackAggregator): * wtf/CheckedArithmetic.h: (WTF::observesOverflow<AssertNoOverflow>): * wtf/CheckedBoolean.h: (CheckedBoolean::CheckedBoolean): (CheckedBoolean::operator bool): * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): * wtf/DateMath.cpp: (WTF::initializeDates): * wtf/Gigacage.cpp: (Gigacage::tryAllocateZeroedVirtualPages): * wtf/HashTable.h: (WTF::KeyTraits>::checkKey): (WTF::KeyTraits>::checkTableConsistencyExceptSize const): * wtf/LoggerHelper.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::headerOf const): * wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * wtf/OptionSet.h: (WTF::OptionSet::OptionSet): * wtf/Platform.h: * wtf/PtrTag.h: * wtf/RefCounted.h: (WTF::RefCountedBase::disableThreadingChecks): (WTF::RefCountedBase::enableThreadingChecksGlobally): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::applyRefDerefThreadingCheck const): * wtf/SingleRootGraph.h: (WTF::SingleRootGraph::assertIsConsistent const): * wtf/SizeLimits.cpp: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/URLParser.cpp: (WTF::URLParser::URLParser): (WTF::URLParser::domainToASCII): * wtf/ValueCheck.h: * wtf/Vector.h: (WTF::Malloc>::checkConsistency): * wtf/WeakHashSet.h: * wtf/WeakPtr.h: (WTF::WeakPtrImpl::WeakPtrImpl): (WTF::WeakPtrFactory::WeakPtrFactory): * wtf/text/AtomStringImpl.cpp: * wtf/text/AtomStringImpl.h: * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::reifyString const): * wtf/text/StringBuilder.h: * wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * wtf/text/StringHasher.h: (WTF::StringHasher::addCharacters): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: * wtf/text/UniquedStringImpl.h: Tools: Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory https://bugs.webkit.org/show_bug.cgi?id=205754 Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): Canonical link: https://commits.webkit.org/218957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 22:24:50 +00:00
#endif // ASSERT_ENABLED
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
Vector<JSValue, 8> arguments;
arguments.grow(numProperties);
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location().kind() == NewArrayWithSpreadArgumentPLoc) {
JSValue value = JSValue::decode(values[i]);
RELEASE_ASSERT(property.location().info() < numProperties);
arguments[property.location().info()] = value;
}
}
unsigned arrayIndex = 0;
for (JSValue value : arguments) {
[JSC] Remove JSFixedArray, and use JSImmutableButterfly instead https://bugs.webkit.org/show_bug.cgi?id=204402 Reviewed by Mark Lam. JSTests: * stress/new-array-with-spread-cow-double.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow-int.js: Added. (shouldBe): (shouldBeArray): (test): * stress/new-array-with-spread-cow.js: Added. (shouldBe): (shouldBeArray): (test): Source/JavaScriptCore: This patch removes JSFixedArray, and use JSImmutableButterfly instead. JSFixedArray can be replaced by JSImmutableButterfly with Contiguous shape. And further, we can create an array from JSImmutableButterfly generated by Spread node in NewArrayBufferWithSpread. Currently, we are always creating contiguous JSImmutableButterfly from Spread. If it takes contiguous CoW array, we can reuse JSImmutableButterfly of the input. But if it is CoW and not contiguous shape (like, CopyOnWriteArrayWithInt32), we create a JSImmutableButterfly and copy it to this new butterfly. We can extend it to accept non-contiguous JSImmutableButterfly in the future. * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * bytecompiler/BytecodeGenerator.cpp: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileObjectKeys): * ftl/FTLAbstractHeapRepository.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::toButterfly): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::loadVarargs): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/JSCast.h: * runtime/JSFixedArray.cpp: Removed. * runtime/JSFixedArray.h: Removed. * runtime/JSImmutableButterfly.h: (JSC::JSImmutableButterfly::createFromArray): (JSC::JSImmutableButterfly::offsetOfPublicLength): (JSC::JSImmutableButterfly::offsetOfVectorLength): * runtime/JSType.cpp: (WTF::printInternal): * runtime/JSType.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Canonical link: https://commits.webkit.org/218436@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253520 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-12-14 04:34:45 +00:00
if (JSImmutableButterfly* immutableButterfly = jsDynamicCast<JSImmutableButterfly*>(vm, value)) {
for (unsigned i = 0; i < immutableButterfly->publicLength(); i++) {
ASSERT(immutableButterfly->get(i));
result->putDirectIndex(globalObject, arrayIndex, immutableButterfly->get(i));
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
++arrayIndex;
}
} else {
// We are not spreading.
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
result->putDirectIndex(globalObject, arrayIndex, value);
We should be able optimize the pattern where we spread a function's rest parameter to another call https://bugs.webkit.org/show_bug.cgi?id=163865 Reviewed by Filip Pizlo. JSTests: * microbenchmarks/default-derived-constructor.js: Added. (createClassHierarchy.let.currentClass): (createClassHierarchy): * stress/call-varargs-spread.js: Added. (assert): (bar): (foo): * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. (assert): (baz): (bar): (foo): * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. (assert): (foo): (escape): (bar): * stress/phantom-new-array-with-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/phantom-spread-forward-varargs.js: Added. (assert): (test1.bar): (test1.foo): (test1): (test2.bar): (test2.foo): (test3.baz): (test3.bar): (test3.foo): (test4.baz): (test4.bar): (test4.foo): (test5.baz): (test5.bar): (test5.foo): * stress/phantom-spread-osr-exit.js: Added. (assert): (baz): (bar): (effects): (foo): * stress/spread-call-convert-to-static-call.js: Added. (assert): (baz): (bar): (foo): * stress/spread-forward-call-varargs-stack-overflow.js: Added. (assert): (identity): (bar): (foo): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): (test): * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. (assert): (baz.Array.prototype.Symbol.iterator): (baz): (bar): (foo): * stress/spread-forward-varargs-stack-overflow.js: Added. (assert): (bar): (foo): Source/JavaScriptCore: This patch optimizes the following patterns to prevent both the allocation of the rest parameter, and the execution of the iterator protocol: ``` function foo(...args) { let arr = [...args]; } and function foo(...args) { bar(...args); } ``` To do this, I've extended the arguments elimination phase to reason about Spread and NewArrayWithSpread. I've added two new nodes, PhantomSpread and PhantomNewArrayWithSpread. PhantomSpread is only allowed over rest parameters that don't escape. If the rest parameter *does* escape, we can't convert the spread into a phantom because it would not be sound w.r.t JS semantics because we would be reading from the call frame even though the rest array may have changed. Note that NewArrayWithSpread also understands what to do when one of its arguments is PhantomSpread(@PhantomCreateRest) even if it itself is escaped. PhantomNewArrayWithSpread is only allowed over a series of PhantomSpread(@PhantomCreateRest) nodes. Like with PhantomSpread, PhantomNewArrayWithSpread is only allowed if none of its arguments that are being spread are escaped and if it itself is not escaped. Because there is a dependency between a node being a candidate and the escaped state of the node's children, I've extended the notion of escaping a node inside the arguments elimination phase. Now, when any node is escaped, we must consider all other candidates that are may now no longer be valid. For example: ``` function foo(...args) { escape(args); bar(...args); } ``` In the above program, we don't know if the function call to escape() modifies args, therefore, the spread can not become phantom because the execution of the spread may not be as simple as reading the arguments from the call frame. Unfortunately, the arguments elimination phase does not consider control flow when doing its escape analysis. It would be good to integrate this phase with the object allocation sinking phase. To see why, consider an example where we don't eliminate the spread and allocation of the rest parameter even though we could: ``` function foo(rareCondition, ...args) { bar(...args); if (rareCondition) baz(args); } ``` There are only a few users of the PhantomSpread and PhantomNewArrayWithSpread nodes. PhantomSpread is only used by PhantomNewArrayWithSpread and NewArrayWithSpread. PhantomNewArrayWithSpread is only used by ForwardVarargs and the various *Call*ForwardVarargs nodes. The users of these phantoms know how to produce what the phantom node would have produced. For example, NewArrayWithSpread knows how to produce the values that would have been produced by PhantomSpread(@PhantomCreateRest) by directly reading from the call frame. This patch is a 6% speedup on my MBP on ES6SampleBench. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::tryAppendLea): * b3/B3ValueRep.h: * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createDefaultConstructor): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArgumentsEliminationPhase.cpp: * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGForAllKills.h: (JSC::DFG::forAllKillsInBlock): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::bitVector): (JSC::DFG::Node::isPhantomAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::LowerDFGToB3): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargs): (JSC::FTL::DFG::LowerDFGToB3::getSpreadLengthFromInlineCallFrame): (JSC::FTL::DFG::LowerDFGToB3::compileForwardVarargsWithSpread): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * jsc.cpp: (GlobalObject::finishCreation): (functionMaxArguments): * runtime/JSFixedArray.h: (JSC::JSFixedArray::createFromArray): Canonical link: https://commits.webkit.org/182807@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@209121 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-11-30 06:24:44 +00:00
++arrayIndex;
}
}
return result;
}
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
case PhantomNewRegexp: {
RegExp* regExp = nullptr;
for (unsigned i = materialization->properties().size(); i--;) {
const ExitPropertyValue& property = materialization->properties()[i];
if (property.location() == PromotedLocationDescriptor(RegExpObjectRegExpPLoc)) {
[JSC] Add inherits<T>(VM&) leveraging JSCast fast path https://bugs.webkit.org/show_bug.cgi?id=183429 Reviewed by Mark Lam. Source/JavaScriptCore: Add new member function, JSCell::inherits<T>(VM&) and JSValue::inherits<T>(VM&). They depends on jsDynamicCast<T> implementation and leverage JSType-based fast paths defined in JSCast.h. We extract checking part as `JSCastingHelpers::inherit` and construct jsDynamicCast and JSCell::inherits based on this. And we remove several unnecessary casting functions (asRegExpObject, asDateInstance etc.). In addition, we add jsDynamicCast fast path for RegExpObject by using existing RegExpObjectType. We also fix the implementation of jsDynamicCast for JSObject since it uses LastJSCObjectType. The embedder can add their extended object types after that. * API/JSObjectRef.cpp: (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): * API/JSValue.mm: (isDate): (isArray): * API/JSValueRef.cpp: (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (tryUnwrapObjcObject): * API/ObjCCallbackFunction.mm: (tryUnwrapConstructor): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::getPreview): * interpreter/Interpreter.cpp: (JSC::notifyDebuggerOfUnwinding): * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): * jit/JITOperations.cpp: (JSC::operationNewFunctionCommon): * jsc.cpp: (checkException): * runtime/BooleanObject.h: (JSC::asBooleanObject): Deleted. * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/DateConstructor.cpp: (JSC::constructDate): * runtime/DateInstance.h: (JSC::asDateInstance): Deleted. * runtime/DatePrototype.cpp: (JSC::formateDateInstance): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): * runtime/ExceptionHelpers.cpp: (JSC::isTerminatedExecutionException): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.h: (JSC::asInternalFunction): * runtime/JSArray.h: (JSC::asArray): * runtime/JSCJSValue.cpp: (JSC::JSValue::dumpForBacktrace const): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::inherits const): * runtime/JSCast.h: (JSC::JSCastingHelpers::inheritsGenericImpl): (JSC::JSCastingHelpers::inheritsJSTypeImpl): (JSC::JSCastingHelpers::InheritsTraits::inherits): (JSC::JSCastingHelpers::inherits): (JSC::jsDynamicCast): (JSC::JSCastingHelpers::jsDynamicCastGenericImpl): Deleted. (JSC::JSCastingHelpers::jsDynamicCastJSTypeImpl): Deleted. (JSC::JSCastingHelpers::JSDynamicCastTraits::cast): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::inherits const): * runtime/JSFunction.cpp: (JSC::RetrieveCallerFunctionFunctor::operator() const): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSGlobalObject.cpp: (JSC::enqueueJob): * runtime/JSGlobalObject.h: (JSC::asGlobalObject): Deleted. * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::create): * runtime/JSLexicalEnvironment.h: (JSC::asActivation): * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::Stringifier::Stringifier): (JSC::Walker::walk): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::create): * runtime/JSType.h: * runtime/ProxyObject.h: (JSC::ProxyObject::create): Deleted. (JSC::ProxyObject::createStructure): Deleted. (JSC::ProxyObject::target const): Deleted. (JSC::ProxyObject::handler const): Deleted. * runtime/RegExpConstructor.cpp: (JSC::constructRegExp): * runtime/RegExpConstructor.h: (JSC::asRegExpConstructor): (JSC::isRegExp): * runtime/RegExpObject.cpp: (JSC::RegExpObject::finishCreation): (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): * runtime/RegExpObject.h: (JSC::RegExpObject::create): Deleted. (JSC::RegExpObject::setRegExp): Deleted. (JSC::RegExpObject::regExp const): Deleted. (JSC::RegExpObject::setLastIndex): Deleted. (JSC::RegExpObject::getLastIndex const): Deleted. (JSC::RegExpObject::test): Deleted. (JSC::RegExpObject::testInline): Deleted. (JSC::RegExpObject::createStructure): Deleted. (JSC::RegExpObject::offsetOfRegExp): Deleted. (JSC::RegExpObject::offsetOfLastIndex): Deleted. (JSC::RegExpObject::offsetOfLastIndexIsWritable): Deleted. (JSC::RegExpObject::allocationSize): Deleted. (JSC::asRegExpObject): Deleted. * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/StringObject.h: (JSC::asStringObject): Deleted. * runtime/StringPrototype.cpp: (JSC::replaceUsingRegExpSearch): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncToString): * runtime/SymbolPrototype.cpp: (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * tools/JSDollarVM.cpp: (WTF::customGetValue): (WTF::customSetValue): * wasm/js/JSWebAssemblyHelpers.h: (JSC::isWebAssemblyHostFunction): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::create): Source/WebCore: * bindings/js/IDBBindingUtilities.cpp: (WebCore::createIDBKeyFromValue): * bindings/js/JSDOMConvertDate.cpp: (WebCore::valueToDate): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::scriptExecutionContext const): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::toWrapped): * bindings/js/JSEventTargetCustom.cpp: * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::scriptExecutionContextFromExecState): * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::isArray): (WebCore::CloneSerializer::isMap): (WebCore::CloneSerializer::isSet): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::readArrayBufferView): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::JSTestOverloadedConstructorsConstructor::construct): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::invokeMethod): * bridge/objc/WebScriptObject.mm: (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): * bridge/objc/objc_runtime.mm: (JSC::Bindings::callObjCFallbackObject): * bridge/runtime_method.cpp: (JSC::callRuntimeMethod): * bridge/runtime_object.cpp: (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::WebInjectedScriptHost::isHTMLAllCollection): Source/WebKit: * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::callNPJSObject): (WebKit::constructWithConstructor): * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::create): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::counterValue): Source/WebKitLegacy/mac: * DOM/DOM.mm: (+[DOMNode _nodeFromJSWrapper:]): * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::retainLocalObject): (WebKit::NetscapePluginInstanceProxy::releaseLocalObject): * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invokeMethod): * WebView/WebView.mm: (aeDescFromJSValue): Source/WebKitLegacy/win: * WebFrame.cpp: (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): Canonical link: https://commits.webkit.org/199117@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-03-08 16:06:48 +00:00
RELEASE_ASSERT(JSValue::decode(values[i]).asCell()->inherits<RegExp>(vm));
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
regExp = jsCast<RegExp*>(JSValue::decode(values[i]));
}
}
RELEASE_ASSERT(regExp);
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
CodeBlock* codeBlock = baselineCodeBlockForOriginAndBaselineCodeBlock(materialization->origin(), callFrame->codeBlock()->baselineAlternative());
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky https://bugs.webkit.org/show_bug.cgi?id=181535 Reviewed by Saam Barati. JSTests: * stress/inserted-recovery-with-set-last-index.js: Added. (shouldBe): (foo): * stress/materialize-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. (shouldBe): (test): * stress/materialize-regexp-cyclic-regexp.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-cyclic.js: Added. (shouldBe): (test): (i.switch): * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. (bar): (foo): (test): * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. (bar): (foo): (test): * stress/materialize-regexp.js: Added. (shouldBe): (test): * stress/phantom-regexp-regexp-exec.js: Added. (shouldBe): (test): * stress/phantom-regexp-string-match.js: Added. (shouldBe): (test): * stress/regexp-last-index-sinking.js: Added. (shouldBe): (test): Source/JavaScriptCore: When executing the code like `string.match(/regexp/)`, `/regexp/` object is created every time we execute this code. However, user rarely cares about this `/regexp/` object. Typically, it is soon discarded even if it has `lastIndex` information. So we should not create RegExpObject for this typical case. This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS) phase. We should do this analysis in OAS phase since we track modifications to `lastIndex` in the OAS phase. Even if `lastIndex` is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase. This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included in this patch. We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky flagged. Since we do not need to touch `lastIndex` property in this case, RegExpExecNonGlobalOrSticky just takes RegExp instead of RegExpObject. This offers the chance to make NewRegExp unused. We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky, since they are the same behavior. The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is somewhat pure execution time of our Yarr implementation. baseline patched regex-u.es5 34.8557+-0.5963 ^ 6.1507+-0.5526 ^ definitely 5.6670x faster regex-u.es6 89.1919+-3.3851 ^ 32.0917+-0.4260 ^ definitely 2.7793x faster This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in this patch right now. We should support StringReplace node in subsequent patches. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGClobbersExitState.cpp: (JSC::DFG::clobbersExitState): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): * dfg/DFGMayExit.cpp: * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPhantomNewRegexp): (JSC::DFG::Node::convertToSetRegExpObjectLastIndex): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::hasIgnoreLastIndexIsWritable): (JSC::DFG::Node::ignoreLastIndexIsWritable): * dfg/DFGNodeType.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: (JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex): (JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex): * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): * jit/JITOperations.h: * runtime/RegExpObject.h: (JSC::RegExpObject::create): Canonical link: https://commits.webkit.org/197612@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227107 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-01-18 04:17:32 +00:00
Structure* structure = codeBlock->globalObject()->regExpStructure();
return RegExpObject::create(vm, structure, regExp);
}
Heap variables shouldn't end up in the stack frame https://bugs.webkit.org/show_bug.cgi?id=141174 Reviewed by Geoffrey Garen. Source/JavaScriptCore: This is a major change to how JavaScriptCore handles declared variables (i.e. "var"). It removes any ambiguity about whether a variable should be in the heap or on the stack. A variable will no longer move between heap and stack during its lifetime. This enables a bunch of optimizations and simplifications: - Accesses to variables no longer need checks or indirections to determine where the variable is at that moment in time. For example, loading a closure variable now takes just one load instead of two. Loading an argument by index now takes a bounds check and a load in the fastest case (when no arguments object allocation is required) while previously that same operation required a "did I allocate arguments yet" check, a bounds check, and then the load. - Reasoning about the allocation of an activation or arguments object now follows the same simple logic as the allocation of any other kind of object. Previously, those objects were lazily allocated - so an allocation instruction wasn't the actual allocation site, since it might not allocate anything at all. This made the implementation of traditional escape analyses really awkward, and ultimately it meant that we missed important cases. Now, we can reason about the arguments object using the usual SSA tricks which allows for more comprehensive removal. - The allocations of arguments objects, functions, and activations are now much faster. While this patch generally expands our ability to eliminate arguments object allocations, an earlier version of the patch - which lacked that functionality - was a progression on some arguments- and closure-happy benchmarks because although no allocations were eliminated, all allocations were faster. - There is no tear-off. The runtime no loner needs to know about where on the stack a frame keeps its arguments objects or activations. The runtime doesn't have to do things to the arguments objects and activations that a frame allocated, when the frame is unwound. We always had horrid bugs in that code, so it's good to see it go. This removes *a ton* of machinery from the DFG, FTL, CodeBlock, and other places. All of the things having to do with "captured variables" is now gone. This also enables implementing block-scoping. Without this change, block-scope support would require telling CodeBlock and all of the rest of the runtime about all of the variables that store currently-live scopes. That would have been so disastrously hard that it might as well be impossible. With this change, it's fair game for the bytecode generator to simply allocate whatever activations it wants, wherever it wants, and to keep them live for however long it wants. This all works, because after bytecode generation, an activation is just an object and variables that refer to it are just normal variables. - SymbolTable can now tell you explicitly where a variable lives. The answer is in the form of a VarOffset object, which has methods like isStack(), isScope(), etc. VirtualRegister is never used for offsets of non-stack variables anymore. We now have shiny new objects for other kinds of offsets - ScopeOffset for offsets into scopes, and DirectArgumentsOffset for offsets into an arguments object. - Functions that create activations can now tier-up into the FTL. Previously they couldn't. Also, using activations used to prevent inlining; now functions that use activations can be inlined just fine. This is a >1% speed-up on Octane. This is a >2% speed-up on CompressionBench. This is a tiny speed-up on AsmBench (~0.4% or something). This looks like it might be a speed-up on SunSpider. It's only a slow-down on very short-running microbenchmarks we had previously written for our old style of tear-off-based arguments optimization. Those benchmarks are not part of any major suite. The easiest way of understanding this change is to start by looking at the changes in runtime/, and then the changes in bytecompiler/, and then sort of work your way up the compiler tiers. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbortReason.h: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::BaseIndex::withOffset): * bytecode/ByValInfo.h: (JSC::hasOptimizableIndexingForJSType): (JSC::hasOptimizableIndexing): (JSC::jitArrayModeForJSType): (JSC::jitArrayModePermitsPut): (JSC::jitArrayModeForStructure): * bytecode/BytecodeKills.h: Added. (JSC::BytecodeKills::BytecodeKills): (JSC::BytecodeKills::operandIsKilled): (JSC::BytecodeKills::forEachOperandKilledAt): (JSC::BytecodeKills::KillSet::KillSet): (JSC::BytecodeKills::KillSet::add): (JSC::BytecodeKills::KillSet::forEachLocal): (JSC::BytecodeKills::KillSet::contains): * bytecode/BytecodeList.json: * bytecode/BytecodeLivenessAnalysis.cpp: (JSC::isValidRegisterForLiveness): (JSC::stepOverInstruction): (JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): (JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset): (JSC::BytecodeLivenessAnalysis::computeFullLiveness): (JSC::BytecodeLivenessAnalysis::computeKills): (JSC::indexForOperand): Deleted. (JSC::BytecodeLivenessAnalysis::getLivenessInfoForNonCapturedVarsAtBytecodeOffset): Deleted. (JSC::getLivenessInfo): Deleted. * bytecode/BytecodeLivenessAnalysis.h: * bytecode/BytecodeLivenessAnalysisInlines.h: (JSC::operandIsAlwaysLive): (JSC::operandThatIsNotAlwaysLiveIsLive): (JSC::operandIsLive): * bytecode/BytecodeUseDef.h: (JSC::computeUsesForBytecodeOffset): (JSC::computeDefsForBytecodeOffset): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dumpBytecode): (JSC::CodeBlock::CodeBlock): (JSC::CodeBlock::nameForRegister): (JSC::CodeBlock::validate): (JSC::CodeBlock::isCaptured): Deleted. (JSC::CodeBlock::framePointerOffsetToGetActivationRegisters): Deleted. (JSC::CodeBlock::machineSlowArguments): Deleted. * bytecode/CodeBlock.h: (JSC::unmodifiedArgumentsRegister): Deleted. (JSC::CodeBlock::setArgumentsRegister): Deleted. (JSC::CodeBlock::argumentsRegister): Deleted. (JSC::CodeBlock::uncheckedArgumentsRegister): Deleted. (JSC::CodeBlock::usesArguments): Deleted. (JSC::CodeBlock::captureCount): Deleted. (JSC::CodeBlock::captureStart): Deleted. (JSC::CodeBlock::captureEnd): Deleted. (JSC::CodeBlock::argumentIndexAfterCapture): Deleted. (JSC::CodeBlock::hasSlowArguments): Deleted. (JSC::ExecState::argumentAfterCapture): Deleted. * bytecode/CodeOrigin.h: * bytecode/DataFormat.h: (JSC::dataFormatToString): * bytecode/FullBytecodeLiveness.h: (JSC::FullBytecodeLiveness::getLiveness): (JSC::FullBytecodeLiveness::operandIsLive): (JSC::FullBytecodeLiveness::FullBytecodeLiveness): Deleted. (JSC::FullBytecodeLiveness::getOut): Deleted. * bytecode/Instruction.h: (JSC::Instruction::Instruction): * bytecode/Operands.h: (JSC::Operands::virtualRegisterForIndex): * bytecode/SpeculatedType.cpp: (JSC::dumpSpeculation): (JSC::speculationToAbbreviatedString): (JSC::speculationFromClassInfo): * bytecode/SpeculatedType.h: (JSC::isDirectArgumentsSpeculation): (JSC::isScopedArgumentsSpeculation): (JSC::isActionableMutableArraySpeculation): (JSC::isActionableArraySpeculation): (JSC::isArgumentsSpeculation): Deleted. * bytecode/UnlinkedCodeBlock.cpp: (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedCodeBlock::setArgumentsRegister): Deleted. (JSC::UnlinkedCodeBlock::usesArguments): Deleted. (JSC::UnlinkedCodeBlock::argumentsRegister): Deleted. * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::dumpInContext): * bytecode/ValueRecovery.h: (JSC::ValueRecovery::directArgumentsThatWereNotCreated): (JSC::ValueRecovery::outOfBandArgumentsThatWereNotCreated): (JSC::ValueRecovery::nodeID): (JSC::ValueRecovery::argumentsThatWereNotCreated): Deleted. * bytecode/VirtualRegister.h: (JSC::VirtualRegister::operator==): (JSC::VirtualRegister::operator!=): (JSC::VirtualRegister::operator<): (JSC::VirtualRegister::operator>): (JSC::VirtualRegister::operator<=): (JSC::VirtualRegister::operator>=): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::generate): (JSC::BytecodeGenerator::BytecodeGenerator): (JSC::BytecodeGenerator::initializeNextParameter): (JSC::BytecodeGenerator::visibleNameForParameter): (JSC::BytecodeGenerator::emitMove): (JSC::BytecodeGenerator::variable): (JSC::BytecodeGenerator::createVariable): (JSC::BytecodeGenerator::emitResolveScope): (JSC::BytecodeGenerator::emitGetFromScope): (JSC::BytecodeGenerator::emitPutToScope): (JSC::BytecodeGenerator::initializeVariable): (JSC::BytecodeGenerator::emitInstanceOf): (JSC::BytecodeGenerator::emitNewFunction): (JSC::BytecodeGenerator::emitNewFunctionInternal): (JSC::BytecodeGenerator::emitCall): (JSC::BytecodeGenerator::emitReturn): (JSC::BytecodeGenerator::emitConstruct): (JSC::BytecodeGenerator::isArgumentNumber): (JSC::BytecodeGenerator::emitEnumeration): (JSC::BytecodeGenerator::addVar): Deleted. (JSC::BytecodeGenerator::emitInitLazyRegister): Deleted. (JSC::BytecodeGenerator::initializeCapturedVariable): Deleted. (JSC::BytecodeGenerator::resolveCallee): Deleted. (JSC::BytecodeGenerator::addCallee): Deleted. (JSC::BytecodeGenerator::addParameter): Deleted. (JSC::BytecodeGenerator::willResolveToArgumentsRegister): Deleted. (JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::createLazyRegisterIfNecessary): Deleted. (JSC::BytecodeGenerator::isCaptured): Deleted. (JSC::BytecodeGenerator::local): Deleted. (JSC::BytecodeGenerator::constLocal): Deleted. (JSC::BytecodeGenerator::emitResolveConstantLocal): Deleted. (JSC::BytecodeGenerator::emitGetArgumentsLength): Deleted. (JSC::BytecodeGenerator::emitGetArgumentByVal): Deleted. (JSC::BytecodeGenerator::emitLazyNewFunction): Deleted. (JSC::BytecodeGenerator::createArgumentsIfNecessary): Deleted. * bytecompiler/BytecodeGenerator.h: (JSC::Variable::Variable): (JSC::Variable::isResolved): (JSC::Variable::ident): (JSC::Variable::offset): (JSC::Variable::isLocal): (JSC::Variable::local): (JSC::Variable::isSpecial): (JSC::BytecodeGenerator::argumentsRegister): (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::registerFor): (JSC::Local::Local): Deleted. (JSC::Local::operator bool): Deleted. (JSC::Local::get): Deleted. (JSC::Local::isSpecial): Deleted. (JSC::ResolveScopeInfo::ResolveScopeInfo): Deleted. (JSC::ResolveScopeInfo::isLocal): Deleted. (JSC::ResolveScopeInfo::localIndex): Deleted. (JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister): Deleted. (JSC::BytecodeGenerator::captureMode): Deleted. (JSC::BytecodeGenerator::shouldTearOffArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::shouldCreateArgumentsEagerly): Deleted. (JSC::BytecodeGenerator::hasWatchableVariable): Deleted. (JSC::BytecodeGenerator::watchableVariableIdentifier): Deleted. * bytecompiler/NodesCodegen.cpp: (JSC::ResolveNode::isPure): (JSC::ResolveNode::emitBytecode): (JSC::BracketAccessorNode::emitBytecode): (JSC::DotAccessorNode::emitBytecode): (JSC::EvalFunctionCallNode::emitBytecode): (JSC::FunctionCallResolveNode::emitBytecode): (JSC::CallFunctionCallDotNode::emitBytecode): (JSC::ApplyFunctionCallDotNode::emitBytecode): (JSC::PostfixNode::emitResolve): (JSC::DeleteResolveNode::emitBytecode): (JSC::TypeOfResolveNode::emitBytecode): (JSC::PrefixNode::emitResolve): (JSC::ReadModifyResolveNode::emitBytecode): (JSC::AssignResolveNode::emitBytecode): (JSC::ConstDeclNode::emitCodeSingle): (JSC::EmptyVarExpression::emitBytecode): (JSC::ForInNode::tryGetBoundLocal): (JSC::ForInNode::emitLoopHeader): (JSC::ForOfNode::emitBytecode): (JSC::ArrayPatternNode::emitDirectBinding): (JSC::BindingNode::bindValue): (JSC::getArgumentByVal): Deleted. * dfg/DFGAbstractHeap.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberWorld): (JSC::DFG::AbstractInterpreter<AbstractStateType>::clobberCapturedVars): Deleted. * dfg/DFGAbstractValue.h: * dfg/DFGArgumentPosition.h: (JSC::DFG::ArgumentPosition::addVariable): * dfg/DFGArgumentsEliminationPhase.cpp: Added. (JSC::DFG::performArgumentsElimination): * dfg/DFGArgumentsEliminationPhase.h: Added. * dfg/DFGArgumentsSimplificationPhase.cpp: Removed. * dfg/DFGArgumentsSimplificationPhase.h: Removed. * dfg/DFGArgumentsUtilities.cpp: Added. (JSC::DFG::argumentsInvolveStackSlot): (JSC::DFG::emitCodeToGetArgumentsArrayLength): * dfg/DFGArgumentsUtilities.h: Added. * dfg/DFGArrayMode.cpp: (JSC::DFG::ArrayMode::refine): (JSC::DFG::ArrayMode::alreadyChecked): (JSC::DFG::arrayTypeToString): * dfg/DFGArrayMode.h: (JSC::DFG::ArrayMode::canCSEStorage): (JSC::DFG::ArrayMode::modeForPut): * dfg/DFGAvailabilityMap.cpp: (JSC::DFG::AvailabilityMap::prune): * dfg/DFGAvailabilityMap.h: (JSC::DFG::AvailabilityMap::closeOverNodes): (JSC::DFG::AvailabilityMap::closeStartingWithLocal): * dfg/DFGBackwardsPropagationPhase.cpp: (JSC::DFG::BackwardsPropagationPhase::propagate): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): (JSC::DFG::ByteCodeParser::getLocal): (JSC::DFG::ByteCodeParser::setLocal): (JSC::DFG::ByteCodeParser::getArgument): (JSC::DFG::ByteCodeParser::setArgument): (JSC::DFG::ByteCodeParser::flushDirect): (JSC::DFG::ByteCodeParser::flush): (JSC::DFG::ByteCodeParser::noticeArgumentsUse): (JSC::DFG::ByteCodeParser::handleVarargsCall): (JSC::DFG::ByteCodeParser::attemptToInlineCall): (JSC::DFG::ByteCodeParser::handleInlining): (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): (JSC::DFG::ByteCodeParser::parseCodeBlock): * dfg/DFGCPSRethreadingPhase.cpp: (JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor): (JSC::DFG::CPSRethreadingPhase::canonicalizeLocalsInBlock): * dfg/DFGCSEPhase.cpp: * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: Added. (JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator): * dfg/DFGCapabilities.cpp: (JSC::DFG::isSupportedForInlining): (JSC::DFG::capabilityLevel): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGCommon.h: * dfg/DFGCommonData.h: (JSC::DFG::CommonData::CommonData): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDCEPhase.cpp: (JSC::DFG::DCEPhase::cleanVariables): * dfg/DFGDisassembler.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushFormat.cpp: (WTF::printInternal): * dfg/DFGFlushFormat.h: (JSC::DFG::resultFor): (JSC::DFG::useKindFor): (JSC::DFG::dataFormatFor): * dfg/DFGForAllKills.h: Added. (JSC::DFG::forAllLiveNodesAtTail): (JSC::DFG::forAllDirectlyKilledOperands): (JSC::DFG::forAllKilledOperands): (JSC::DFG::forAllKilledNodesAtNodeIndex): (JSC::DFG::forAllKillsInBlock): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::Graph): (JSC::DFG::Graph::dump): (JSC::DFG::Graph::substituteGetLocal): (JSC::DFG::Graph::livenessFor): (JSC::DFG::Graph::killsFor): (JSC::DFG::Graph::tryGetConstantClosureVar): (JSC::DFG::Graph::tryGetRegisters): Deleted. * dfg/DFGGraph.h: (JSC::DFG::Graph::symbolTableFor): (JSC::DFG::Graph::uses): (JSC::DFG::Graph::bytecodeRegisterForArgument): Deleted. (JSC::DFG::Graph::capturedVarsFor): Deleted. (JSC::DFG::Graph::usesArguments): Deleted. (JSC::DFG::Graph::argumentsRegisterFor): Deleted. (JSC::DFG::Graph::machineArgumentsRegisterFor): Deleted. (JSC::DFG::Graph::uncheckedArgumentsRegisterFor): Deleted. * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInPlaceAbstractState.cpp: (JSC::DFG::InPlaceAbstractState::initialize): (JSC::DFG::InPlaceAbstractState::mergeStateAtTail): * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGMinifiedID.h: * dfg/DFGMinifiedNode.cpp: (JSC::DFG::MinifiedNode::fromNode): * dfg/DFGMinifiedNode.h: (JSC::DFG::belongsInMinifiedGraph): (JSC::DFG::MinifiedNode::hasInlineCallFrame): (JSC::DFG::MinifiedNode::inlineCallFrame): * dfg/DFGNode.cpp: (JSC::DFG::Node::convertToIdentityOn): * dfg/DFGNode.h: (JSC::DFG::Node::hasConstant): (JSC::DFG::Node::constant): (JSC::DFG::Node::hasScopeOffset): (JSC::DFG::Node::scopeOffset): (JSC::DFG::Node::hasDirectArgumentsOffset): (JSC::DFG::Node::capturedArgumentsOffset): (JSC::DFG::Node::variablePointer): (JSC::DFG::Node::hasCallVarargsData): (JSC::DFG::Node::hasLoadVarargsData): (JSC::DFG::Node::hasHeapPrediction): (JSC::DFG::Node::hasCellOperand): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomAllocation): (JSC::DFG::Node::willHaveCodeGenOrOSR): (JSC::DFG::Node::shouldSpeculateDirectArguments): (JSC::DFG::Node::shouldSpeculateScopedArguments): (JSC::DFG::Node::isPhantomArguments): Deleted. (JSC::DFG::Node::hasVarNumber): Deleted. (JSC::DFG::Node::varNumber): Deleted. (JSC::DFG::Node::registerPointer): Deleted. (JSC::DFG::Node::shouldSpeculateArguments): Deleted. * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRExitCompiler.cpp: (JSC::DFG::OSRExitCompiler::emitRestoreArguments): * dfg/DFGOSRExitCompiler.h: (JSC::DFG::OSRExitCompiler::badIndex): Deleted. (JSC::DFG::OSRExitCompiler::initializePoisoned): Deleted. (JSC::DFG::OSRExitCompiler::poisonIndex): Deleted. * dfg/DFGOSRExitCompiler32_64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompiler64.cpp: (JSC::DFG::OSRExitCompiler::compileExit): * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::ArgumentsRecoveryGenerator::ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::~ArgumentsRecoveryGenerator): Deleted. (JSC::DFG::ArgumentsRecoveryGenerator::generateFor): Deleted. * dfg/DFGOSRExitCompilerCommon.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPreciseLocalClobberize.h: (JSC::DFG::PreciseLocalClobberizeAdaptor::read): (JSC::DFG::PreciseLocalClobberizeAdaptor::write): (JSC::DFG::PreciseLocalClobberizeAdaptor::def): (JSC::DFG::PreciseLocalClobberizeAdaptor::readTop): (JSC::DFG::preciseLocalClobberize): (JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop): Deleted. (JSC::DFG::forEachLocalReadByUnwind): Deleted. * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::run): (JSC::DFG::PredictionPropagationPhase::propagate): (JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting): (JSC::DFG::PredictionPropagationPhase::propagateThroughArgumentPositions): * dfg/DFGPromoteHeapAccess.h: (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitAllocateJSArray): (JSC::DFG::SpeculativeJIT::emitGetLength): (JSC::DFG::SpeculativeJIT::emitGetCallee): (JSC::DFG::SpeculativeJIT::emitGetArgumentStart): (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileForwardVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileGetFromArguments): (JSC::DFG::SpeculativeJIT::compilePutToArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::emitAllocateArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): Deleted. (JSC::DFG::SpeculativeJIT::compileGetArgumentsLength): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck): Deleted. (JSC::DFG::SpeculativeJIT::compileNewFunctionExpression): Deleted. * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::emitAllocateJSObjectWithKnownSize): (JSC::DFG::SpeculativeJIT::emitAllocateJSObject): (JSC::DFG::SpeculativeJIT::framePointerOffsetToGetActivationRegisters): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStackLayoutPhase.cpp: (JSC::DFG::StackLayoutPhase::run): * dfg/DFGStrengthReductionPhase.cpp: (JSC::DFG::StrengthReductionPhase::handleNode): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGUnificationPhase.cpp: (JSC::DFG::UnificationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validateCPS): * dfg/DFGValueSource.cpp: (JSC::DFG::ValueSource::dump): * dfg/DFGValueSource.h: (JSC::DFG::dataFormatToValueSourceKind): (JSC::DFG::valueSourceKindToDataFormat): (JSC::DFG::ValueSource::ValueSource): (JSC::DFG::ValueSource::forFlushFormat): (JSC::DFG::ValueSource::valueRecovery): * dfg/DFGVarargsForwardingPhase.cpp: Added. (JSC::DFG::performVarargsForwarding): * dfg/DFGVarargsForwardingPhase.h: Added. * dfg/DFGVariableAccessData.cpp: (JSC::DFG::VariableAccessData::VariableAccessData): (JSC::DFG::VariableAccessData::flushFormat): (JSC::DFG::VariableAccessData::mergeIsCaptured): Deleted. * dfg/DFGVariableAccessData.h: (JSC::DFG::VariableAccessData::shouldNeverUnbox): (JSC::DFG::VariableAccessData::shouldUseDoubleFormat): (JSC::DFG::VariableAccessData::isCaptured): Deleted. (JSC::DFG::VariableAccessData::mergeIsArgumentsAlias): Deleted. (JSC::DFG::VariableAccessData::isArgumentsAlias): Deleted. * dfg/DFGVariableAccessDataDump.cpp: (JSC::DFG::VariableAccessDataDump::dump): * dfg/DFGVariableAccessDataDump.h: * dfg/DFGVariableEventStream.cpp: (JSC::DFG::VariableEventStream::tryToSetConstantRecovery): * dfg/DFGVariableEventStream.h: * ftl/FTLAbstractHeap.cpp: (JSC::FTL::AbstractHeap::dump): (JSC::FTL::AbstractField::dump): (JSC::FTL::IndexedAbstractHeap::dump): (JSC::FTL::NumberedAbstractHeap::dump): (JSC::FTL::AbsoluteAbstractHeap::dump): * ftl/FTLAbstractHeap.h: * ftl/FTLAbstractHeapRepository.cpp: * ftl/FTLAbstractHeapRepository.h: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLExitArgument.cpp: (JSC::FTL::ExitArgument::dump): * ftl/FTLExitPropertyValue.cpp: (JSC::FTL::ExitPropertyValue::withLocalsOffset): * ftl/FTLExitPropertyValue.h: * ftl/FTLExitTimeObjectMaterialization.cpp: (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::accountForLocalsOffset): * ftl/FTLExitTimeObjectMaterialization.h: (JSC::FTL::ExitTimeObjectMaterialization::origin): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::withLocalsOffset): (JSC::FTL::ExitValue::valueFormat): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isArgument): (JSC::FTL::ExitValue::argumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::isArgumentsObjectThatWasNotCreated): Deleted. (JSC::FTL::ExitValue::valueFormat): Deleted. * ftl/FTLInlineCacheSize.cpp: (JSC::FTL::sizeOfCallForwardVarargs): (JSC::FTL::sizeOfConstructForwardVarargs): (JSC::FTL::sizeOfICFor): * ftl/FTLInlineCacheSize.h: * ftl/FTLIntrinsicRepository.h: * ftl/FTLJSCallVarargs.cpp: (JSC::FTL::JSCallVarargs::JSCallVarargs): (JSC::FTL::JSCallVarargs::emit): * ftl/FTLJSCallVarargs.h: * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::lower): (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compilePutStack): (JSC::FTL::LowerDFGToLLVM::compileGetArrayLength): (JSC::FTL::LowerDFGToLLVM::compileGetByVal): (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal): (JSC::FTL::LowerDFGToLLVM::compilePutByVal): (JSC::FTL::LowerDFGToLLVM::compileArrayPush): (JSC::FTL::LowerDFGToLLVM::compileArrayPop): (JSC::FTL::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateScopedArguments): (JSC::FTL::LowerDFGToLLVM::compileCreateClonedArguments): (JSC::FTL::LowerDFGToLLVM::compileStringCharAt): (JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt): (JSC::FTL::LowerDFGToLLVM::compileGetGlobalVar): (JSC::FTL::LowerDFGToLLVM::compilePutGlobalVar): (JSC::FTL::LowerDFGToLLVM::compileGetArgumentCount): (JSC::FTL::LowerDFGToLLVM::compileGetClosureVar): (JSC::FTL::LowerDFGToLLVM::compilePutClosureVar): (JSC::FTL::LowerDFGToLLVM::compileGetFromArguments): (JSC::FTL::LowerDFGToLLVM::compilePutToArguments): (JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs): (JSC::FTL::LowerDFGToLLVM::compileForwardVarargs): (JSC::FTL::LowerDFGToLLVM::compileGetEnumeratorPname): (JSC::FTL::LowerDFGToLLVM::ArgumentsLength::ArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getArgumentsLength): (JSC::FTL::LowerDFGToLLVM::getCurrentCallee): (JSC::FTL::LowerDFGToLLVM::getArgumentsStart): (JSC::FTL::LowerDFGToLLVM::baseIndex): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::allocateVariableSizedObject): (JSC::FTL::LowerDFGToLLVM::isArrayType): (JSC::FTL::LowerDFGToLLVM::emitStoreBarrier): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::loadStructure): (JSC::FTL::LowerDFGToLLVM::compilePhantomArguments): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength): Deleted. (JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters): Deleted. (JSC::FTL::LowerDFGToLLVM::compileCheckArgumentsNotCreated): Deleted. (JSC::FTL::LowerDFGToLLVM::checkArgumentsNotCreated): Deleted. * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOutput.h: (JSC::FTL::Output::aShr): (JSC::FTL::Output::lShr): (JSC::FTL::Output::zeroExtPtr): * heap/CopyToken.h: * interpreter/CallFrame.h: (JSC::ExecState::getArgumentUnsafe): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::unwindCallFrame): * interpreter/Interpreter.h: * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): (JSC::StackVisitor::Frame::existingArguments): Deleted. * interpreter/StackVisitor.h: * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::storeValue): (JSC::AssemblyHelpers::loadValue): (JSC::AssemblyHelpers::storeTrustedValue): (JSC::AssemblyHelpers::branchIfNotCell): (JSC::AssemblyHelpers::branchIsEmpty): (JSC::AssemblyHelpers::argumentsStart): (JSC::AssemblyHelpers::baselineArgumentsRegisterFor): Deleted. (JSC::AssemblyHelpers::offsetOfLocals): Deleted. (JSC::AssemblyHelpers::offsetOfArguments): Deleted. * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): * jit/GPRInfo.h: (JSC::JSValueRegs::withTwoAvailableRegs): * jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): (JSC::JIT::privateCompileSlowCases): * jit/JIT.h: * jit/JITCall.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITCall32_64.cpp: (JSC::JIT::compileSetupVarargsFrame): * jit/JITInlines.h: (JSC::JIT::callOperation): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_new_func): (JSC::JIT::emit_op_create_direct_arguments): (JSC::JIT::emit_op_create_scoped_arguments): (JSC::JIT::emit_op_create_out_of_band_arguments): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_create_lexical_environment): (JSC::JIT::emit_op_tear_off_arguments): Deleted. (JSC::JIT::emit_op_create_arguments): Deleted. (JSC::JIT::emit_op_init_lazy_reg): Deleted. (JSC::JIT::emit_op_get_arguments_length): Deleted. (JSC::JIT::emitSlow_op_get_arguments_length): Deleted. (JSC::JIT::emit_op_get_argument_by_val): Deleted. (JSC::JIT::emitSlow_op_get_argument_by_val): Deleted. * jit/JITOperations.cpp: * jit/JITOperations.h: * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::emitDirectArgumentsGetByVal): (JSC::JIT::emitScopedArgumentsGetByVal): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emitGetClosureVar): (JSC::JIT::emitPutClosureVar): (JSC::JIT::emit_op_get_from_arguments): (JSC::JIT::emit_op_put_to_arguments): (JSC::JIT::emit_op_init_global_const): * jit/SetupVarargsFrame.cpp: (JSC::emitSetupVarargsFrameFastCase): * llint/LLIntOffsetsExtractor.cpp: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * parser/Nodes.h: (JSC::ScopeNode::captures): * runtime/Arguments.cpp: Removed. * runtime/Arguments.h: Removed. * runtime/ArgumentsMode.h: Added. * runtime/DirectArgumentsOffset.cpp: Added. (JSC::DirectArgumentsOffset::dump): * runtime/DirectArgumentsOffset.h: Added. (JSC::DirectArgumentsOffset::DirectArgumentsOffset): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/CommonSlowPaths.h: * runtime/ConstantMode.cpp: Added. (WTF::printInternal): * runtime/ConstantMode.h: (JSC::modeForIsConstant): * runtime/DirectArguments.cpp: Added. (JSC::DirectArguments::DirectArguments): (JSC::DirectArguments::createUninitialized): (JSC::DirectArguments::create): (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::visitChildren): (JSC::DirectArguments::copyBackingStore): (JSC::DirectArguments::createStructure): (JSC::DirectArguments::overrideThings): (JSC::DirectArguments::overrideThingsIfNecessary): (JSC::DirectArguments::overrideArgument): (JSC::DirectArguments::copyToArguments): (JSC::DirectArguments::overridesSize): * runtime/DirectArguments.h: Added. (JSC::DirectArguments::internalLength): (JSC::DirectArguments::length): (JSC::DirectArguments::canAccessIndexQuickly): (JSC::DirectArguments::getIndexQuickly): (JSC::DirectArguments::setIndexQuickly): (JSC::DirectArguments::callee): (JSC::DirectArguments::argument): (JSC::DirectArguments::overrodeThings): (JSC::DirectArguments::offsetOfCallee): (JSC::DirectArguments::offsetOfLength): (JSC::DirectArguments::offsetOfMinCapacity): (JSC::DirectArguments::offsetOfOverrides): (JSC::DirectArguments::storageOffset): (JSC::DirectArguments::offsetOfSlot): (JSC::DirectArguments::allocationSize): (JSC::DirectArguments::storage): * runtime/FunctionPrototype.cpp: * runtime/GenericArguments.h: Added. (JSC::GenericArguments::GenericArguments): * runtime/GenericArgumentsInlines.h: Added. (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericOffset.h: Added. (JSC::GenericOffset::GenericOffset): (JSC::GenericOffset::operator!): (JSC::GenericOffset::offsetUnchecked): (JSC::GenericOffset::offset): (JSC::GenericOffset::operator==): (JSC::GenericOffset::operator!=): (JSC::GenericOffset::operator<): (JSC::GenericOffset::operator>): (JSC::GenericOffset::operator<=): (JSC::GenericOffset::operator>=): (JSC::GenericOffset::operator+): (JSC::GenericOffset::operator-): (JSC::GenericOffset::operator+=): (JSC::GenericOffset::operator-=): * runtime/JSArgumentsIterator.cpp: (JSC::JSArgumentsIterator::finishCreation): (JSC::argumentsFuncIterator): * runtime/JSArgumentsIterator.h: (JSC::JSArgumentsIterator::create): (JSC::JSArgumentsIterator::next): * runtime/JSEnvironmentRecord.cpp: (JSC::JSEnvironmentRecord::visitChildren): * runtime/JSEnvironmentRecord.h: (JSC::JSEnvironmentRecord::variables): (JSC::JSEnvironmentRecord::isValid): (JSC::JSEnvironmentRecord::variableAt): (JSC::JSEnvironmentRecord::offsetOfVariables): (JSC::JSEnvironmentRecord::offsetOfVariable): (JSC::JSEnvironmentRecord::allocationSizeForScopeSize): (JSC::JSEnvironmentRecord::allocationSize): (JSC::JSEnvironmentRecord::JSEnvironmentRecord): (JSC::JSEnvironmentRecord::finishCreationUninitialized): (JSC::JSEnvironmentRecord::finishCreation): (JSC::JSEnvironmentRecord::registers): Deleted. (JSC::JSEnvironmentRecord::registerAt): Deleted. (JSC::JSEnvironmentRecord::addressOfRegisters): Deleted. (JSC::JSEnvironmentRecord::offsetOfRegisters): Deleted. * runtime/JSFunction.cpp: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::addGlobalVar): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::addStaticGlobals): * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::directArgumentsStructure): (JSC::JSGlobalObject::scopedArgumentsStructure): (JSC::JSGlobalObject::outOfBandArgumentsStructure): (JSC::JSGlobalObject::argumentsStructure): Deleted. * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::symbolTableGet): (JSC::JSLexicalEnvironment::symbolTablePut): (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::symbolTablePutWithAttributes): (JSC::JSLexicalEnvironment::visitChildren): Deleted. * runtime/JSLexicalEnvironment.h: (JSC::JSLexicalEnvironment::create): (JSC::JSLexicalEnvironment::JSLexicalEnvironment): (JSC::JSLexicalEnvironment::registersOffset): Deleted. (JSC::JSLexicalEnvironment::storageOffset): Deleted. (JSC::JSLexicalEnvironment::storage): Deleted. (JSC::JSLexicalEnvironment::allocationSize): Deleted. (JSC::JSLexicalEnvironment::isValidIndex): Deleted. (JSC::JSLexicalEnvironment::isValid): Deleted. (JSC::JSLexicalEnvironment::registerAt): Deleted. * runtime/JSNameScope.cpp: (JSC::JSNameScope::visitChildren): Deleted. * runtime/JSNameScope.h: (JSC::JSNameScope::create): (JSC::JSNameScope::value): (JSC::JSNameScope::finishCreation): (JSC::JSNameScope::JSNameScope): * runtime/JSScope.cpp: (JSC::abstractAccess): * runtime/JSSegmentedVariableObject.cpp: (JSC::JSSegmentedVariableObject::findVariableIndex): (JSC::JSSegmentedVariableObject::addVariables): (JSC::JSSegmentedVariableObject::visitChildren): (JSC::JSSegmentedVariableObject::findRegisterIndex): Deleted. (JSC::JSSegmentedVariableObject::addRegisters): Deleted. * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::variableAt): (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): (JSC::JSSegmentedVariableObject::registerAt): Deleted. (JSC::JSSegmentedVariableObject::assertRegisterIsInThisObject): Deleted. * runtime/JSSymbolTableObject.h: (JSC::JSSymbolTableObject::offsetOfSymbolTable): (JSC::symbolTableGet): (JSC::symbolTablePut): (JSC::symbolTablePutWithAttributes): * runtime/JSType.h: * runtime/Options.h: * runtime/ClonedArguments.cpp: Added. (JSC::ClonedArguments::ClonedArguments): (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::createStructure): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: Added. (JSC::ClonedArguments::specialsMaterialized): * runtime/ScopeOffset.cpp: Added. (JSC::ScopeOffset::dump): * runtime/ScopeOffset.h: Added. (JSC::ScopeOffset::ScopeOffset): * runtime/ScopedArguments.cpp: Added. (JSC::ScopedArguments::ScopedArguments): (JSC::ScopedArguments::finishCreation): (JSC::ScopedArguments::createUninitialized): (JSC::ScopedArguments::create): (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::createByCopyingFrom): (JSC::ScopedArguments::visitChildren): (JSC::ScopedArguments::createStructure): (JSC::ScopedArguments::overrideThings): (JSC::ScopedArguments::overrideThingsIfNecessary): (JSC::ScopedArguments::overrideArgument): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: Added. (JSC::ScopedArguments::internalLength): (JSC::ScopedArguments::length): (JSC::ScopedArguments::canAccessIndexQuickly): (JSC::ScopedArguments::getIndexQuickly): (JSC::ScopedArguments::setIndexQuickly): (JSC::ScopedArguments::callee): (JSC::ScopedArguments::overrodeThings): (JSC::ScopedArguments::offsetOfOverrodeThings): (JSC::ScopedArguments::offsetOfTotalLength): (JSC::ScopedArguments::offsetOfTable): (JSC::ScopedArguments::offsetOfScope): (JSC::ScopedArguments::overflowStorageOffset): (JSC::ScopedArguments::allocationSize): (JSC::ScopedArguments::overflowStorage): * runtime/ScopedArgumentsTable.cpp: Added. (JSC::ScopedArgumentsTable::ScopedArgumentsTable): (JSC::ScopedArgumentsTable::~ScopedArgumentsTable): (JSC::ScopedArgumentsTable::destroy): (JSC::ScopedArgumentsTable::create): (JSC::ScopedArgumentsTable::clone): (JSC::ScopedArgumentsTable::setLength): (JSC::ScopedArgumentsTable::set): (JSC::ScopedArgumentsTable::createStructure): * runtime/ScopedArgumentsTable.h: Added. (JSC::ScopedArgumentsTable::length): (JSC::ScopedArgumentsTable::get): (JSC::ScopedArgumentsTable::lock): (JSC::ScopedArgumentsTable::offsetOfLength): (JSC::ScopedArgumentsTable::offsetOfArguments): (JSC::ScopedArgumentsTable::at): * runtime/SymbolTable.cpp: (JSC::SymbolTableEntry::prepareToWatch): (JSC::SymbolTable::SymbolTable): (JSC::SymbolTable::visitChildren): (JSC::SymbolTable::localToEntry): (JSC::SymbolTable::entryFor): (JSC::SymbolTable::cloneScopePart): (JSC::SymbolTable::prepareForTypeProfiling): (JSC::SymbolTable::uniqueIDForOffset): (JSC::SymbolTable::globalTypeSetForOffset): (JSC::SymbolTable::cloneCapturedNames): Deleted. (JSC::SymbolTable::uniqueIDForRegister): Deleted. (JSC::SymbolTable::globalTypeSetForRegister): Deleted. * runtime/SymbolTable.h: (JSC::SymbolTableEntry::varOffsetFromBits): (JSC::SymbolTableEntry::scopeOffsetFromBits): (JSC::SymbolTableEntry::Fast::varOffset): (JSC::SymbolTableEntry::Fast::scopeOffset): (JSC::SymbolTableEntry::Fast::isDontEnum): (JSC::SymbolTableEntry::Fast::getAttributes): (JSC::SymbolTableEntry::SymbolTableEntry): (JSC::SymbolTableEntry::varOffset): (JSC::SymbolTableEntry::isWatchable): (JSC::SymbolTableEntry::scopeOffset): (JSC::SymbolTableEntry::setAttributes): (JSC::SymbolTableEntry::constantMode): (JSC::SymbolTableEntry::isDontEnum): (JSC::SymbolTableEntry::disableWatching): (JSC::SymbolTableEntry::pack): (JSC::SymbolTableEntry::isValidVarOffset): (JSC::SymbolTable::createNameScopeTable): (JSC::SymbolTable::maxScopeOffset): (JSC::SymbolTable::didUseScopeOffset): (JSC::SymbolTable::didUseVarOffset): (JSC::SymbolTable::scopeSize): (JSC::SymbolTable::nextScopeOffset): (JSC::SymbolTable::takeNextScopeOffset): (JSC::SymbolTable::add): (JSC::SymbolTable::set): (JSC::SymbolTable::argumentsLength): (JSC::SymbolTable::setArgumentsLength): (JSC::SymbolTable::argumentOffset): (JSC::SymbolTable::setArgumentOffset): (JSC::SymbolTable::arguments): (JSC::SlowArgument::SlowArgument): Deleted. (JSC::SymbolTableEntry::Fast::getIndex): Deleted. (JSC::SymbolTableEntry::getIndex): Deleted. (JSC::SymbolTableEntry::isValidIndex): Deleted. (JSC::SymbolTable::captureStart): Deleted. (JSC::SymbolTable::setCaptureStart): Deleted. (JSC::SymbolTable::captureEnd): Deleted. (JSC::SymbolTable::setCaptureEnd): Deleted. (JSC::SymbolTable::captureCount): Deleted. (JSC::SymbolTable::isCaptured): Deleted. (JSC::SymbolTable::parameterCount): Deleted. (JSC::SymbolTable::parameterCountIncludingThis): Deleted. (JSC::SymbolTable::setParameterCountIncludingThis): Deleted. (JSC::SymbolTable::slowArguments): Deleted. (JSC::SymbolTable::setSlowArguments): Deleted. * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * runtime/VarOffset.cpp: Added. (JSC::VarOffset::dump): (WTF::printInternal): * runtime/VarOffset.h: Added. (JSC::VarOffset::VarOffset): (JSC::VarOffset::assemble): (JSC::VarOffset::isValid): (JSC::VarOffset::operator!): (JSC::VarOffset::kind): (JSC::VarOffset::isStack): (JSC::VarOffset::isScope): (JSC::VarOffset::isDirectArgument): (JSC::VarOffset::stackOffsetUnchecked): (JSC::VarOffset::scopeOffsetUnchecked): (JSC::VarOffset::capturedArgumentsOffsetUnchecked): (JSC::VarOffset::stackOffset): (JSC::VarOffset::scopeOffset): (JSC::VarOffset::capturedArgumentsOffset): (JSC::VarOffset::rawOffset): (JSC::VarOffset::checkSanity): (JSC::VarOffset::operator==): (JSC::VarOffset::operator!=): (JSC::VarOffset::hash): (JSC::VarOffset::isHashTableDeletedValue): (JSC::VarOffsetHash::hash): (JSC::VarOffsetHash::equal): * tests/stress/arguments-exit-strict-mode.js: Added. * tests/stress/arguments-exit.js: Added. * tests/stress/arguments-inlined-exit-strict-mode-fixed.js: Added. * tests/stress/arguments-inlined-exit-strict-mode.js: Added. * tests/stress/arguments-inlined-exit.js: Added. * tests/stress/arguments-interference.js: Added. * tests/stress/arguments-interference-cfg.js: Added. * tests/stress/dead-get-closure-var.js: Added. * tests/stress/get-declared-unpassed-argument-in-direct-arguments.js: Added. * tests/stress/get-declared-unpassed-argument-in-scoped-arguments.js: Added. * tests/stress/varargs-closure-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-exit.js: Added. * tests/stress/varargs-inlined-exit.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing-weird.js: Added. * tests/stress/varargs-inlined-simple-exit-aliasing.js: Added. * tests/stress/varargs-inlined-simple-exit.js: Added. * tests/stress/varargs-too-few-arguments.js: Added. * tests/stress/varargs-varargs-closure-inlined-exit.js: Added. * tests/stress/varargs-varargs-inlined-exit-strict-mode.js: Added. * tests/stress/varargs-varargs-inlined-exit.js: Added. Source/WTF: * wtf/FastBitVector.h: (WTF::FastBitVector::resize): Small change: don't resize if you don't have to resize. LayoutTests: * js/function-apply-aliased-expected.txt: * js/function-dot-arguments-expected.txt: * js/regress/arguments-expected.txt: Added. * js/regress/arguments-named-and-reflective-expected.txt: Added. * js/regress/arguments-named-and-reflective.html: Added. * js/regress/arguments-strict-mode-expected.txt: Added. * js/regress/arguments-strict-mode.html: Added. * js/regress/arguments.html: Added. * js/regress/script-tests/arguments-named-and-reflective.js: Added. * js/regress/script-tests/arguments-strict-mode.js: Added. * js/regress/script-tests/arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-cloned-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-direct-arguments.js: Added. * js/regress/script-tests/try-catch-get-by-val-scoped-arguments.js: Added. * js/regress/script-tests/varargs-call.js: Added. * js/regress/script-tests/varargs-construct-inline.js: Added. * js/regress/script-tests/varargs-construct.js: Added. * js/regress/script-tests/varargs-inline.js: Added. * js/regress/script-tests/varargs-strict-mode.js: Added. * js/regress/script-tests/varargs.js: Added. * js/regress/try-catch-get-by-val-cloned-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-cloned-arguments.html: Added. * js/regress/try-catch-get-by-val-direct-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-direct-arguments.html: Added. * js/regress/try-catch-get-by-val-scoped-arguments-expected.txt: Added. * js/regress/try-catch-get-by-val-scoped-arguments.html: Added. * js/regress/varargs-call-expected.txt: Added. * js/regress/varargs-call.html: Added. * js/regress/varargs-construct-expected.txt: Added. * js/regress/varargs-construct-inline-expected.txt: Added. * js/regress/varargs-construct-inline.html: Added. * js/regress/varargs-construct.html: Added. * js/regress/varargs-expected.txt: Added. * js/regress/varargs-inline-expected.txt: Added. * js/regress/varargs-inline.html: Added. * js/regress/varargs-strict-mode-expected.txt: Added. * js/regress/varargs-strict-mode.html: Added. * js/regress/varargs.html: Added. * js/script-tests/function-apply-aliased.js: * js/script-tests/function-dot-arguments.js: Canonical link: https://commits.webkit.org/161102@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@181993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-03-26 04:28:43 +00:00
default:
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
}
[JSC] DFG / FTL should inline switch_string https://bugs.webkit.org/show_bug.cgi?id=224578 Reviewed by Mark Lam. JSTests: * microbenchmarks/switch-inlining.js: Added. (inner): (outer): * stress/switch-inlining-nested.js: Added. (shouldBe): (inner): (outer): Source/JavaScriptCore: Because of r275840 change, we no longer copy StringJumpTable when compiling DFG / FTL code. Instead we are using a pointer to UnlinkedStringTable stored in UnlinkedCodeBlock. This allows DFG / FTL to inline CodeBlock which includes op_switch_string. We were previously not able to do that because we cannot copy StringImpl in DFG / FTL concurrent compiler thread. 1. We handle StringJumpTable / UnlinkedStringJumpTable in the same way as SimpleJumpTable / UnlinkedSimpleJumpTable. 2. We put m_ctiDefault of StringJumpTable in the last element of m_ctiOffsets vector of StringJumpTable to make sizeof(StringJumpTable) small. 3. We use m_indexInTable instead of m_branchOffset in FTL switch generation to make switch table dense. The microbenchmark shows 30% improvement because of unlocking inlining feature. ToT Patched switch-inlining 27.1238+-0.2708 ^ 20.2630+-0.1477 ^ definitely 1.3386x faster <geometric> 27.1238+-0.2708 ^ 20.2630+-0.1477 ^ definitely 1.3386x faster * bytecode/JumpTable.h: (JSC::StringJumpTable::ensureCTITable): (JSC::StringJumpTable::ctiForValue const): (JSC::StringJumpTable::ctiDefault const): (JSC::StringJumpTable::isEmpty const): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedStringJumpTable::indexForValue const): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGGraph.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLOperations.h: * jit/JIT.cpp: (JSC::JIT::link): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_switch_string): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_switch_string): * jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): Canonical link: https://commits.webkit.org/236890@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-22 08:27:42 +00:00
JSC_DEFINE_JIT_OPERATION(operationSwitchStringAndGetIndex, unsigned, (JSGlobalObject* globalObject, const UnlinkedStringJumpTable* unlinkedTable, JSString* string))
[JSC] Introduce UCPUStrictInt32 for result type of DFG operations https://bugs.webkit.org/show_bug.cgi?id=209832 Reviewed by Saam Barati. Let's introduce UCPUStrictInt32 to DFG operations to offload StrictInt32 code into operations C++ code. UCPUStrictInt32 is the same size to UCPURegister, and it is used for StrictInt32, which requires upper 32-bits are zeroed. * assembler/CPU.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetCharCodeAt): (JSC::DFG::SpeculativeJIT::compileValueToInt32): (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32): (JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult): (JSC::DFG::SpeculativeJIT::compileBitwiseNot): (JSC::DFG::SpeculativeJIT::compileBitwiseOp): (JSC::DFG::SpeculativeJIT::compileShiftOp): (JSC::DFG::SpeculativeJIT::compileArithAdd): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithSub): (JSC::DFG::SpeculativeJIT::compileArithNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): (JSC::DFG::SpeculativeJIT::compileArithDiv): (JSC::DFG::SpeculativeJIT::compileArithMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithMinMax): (JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileVarargsLength): (JSC::DFG::SpeculativeJIT::compileGetRestLength): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileGetEnumerableLength): (JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::strictInt32Result): (JSC::DFG::SpeculativeJIT::int32Result): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::compileStringCodePointAt): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::doubleToInt32): (JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32): * ftl/FTLOperations.cpp: (JSC::FTL::operationSwitchStringAndGetBranchOffset): (JSC::FTL::operationTypeOfObjectAsTypeofType): * ftl/FTLOperations.h: * jit/JITOperations.cpp: * jit/JITOperations.h: * runtime/MathCommon.cpp: (JSC::operationToInt32): (JSC::operationToInt32SensibleSlow): * runtime/MathCommon.h: (JSC::toUCPUStrictInt32): Canonical link: https://commits.webkit.org/222752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 23:41:50 +00:00
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
auto throwScope = DECLARE_THROW_SCOPE(vm);
StringImpl* strImpl = string->value(globalObject).impl();
RETURN_IF_EXCEPTION(throwScope, 0);
[JSC] DFG / FTL should inline switch_string https://bugs.webkit.org/show_bug.cgi?id=224578 Reviewed by Mark Lam. JSTests: * microbenchmarks/switch-inlining.js: Added. (inner): (outer): * stress/switch-inlining-nested.js: Added. (shouldBe): (inner): (outer): Source/JavaScriptCore: Because of r275840 change, we no longer copy StringJumpTable when compiling DFG / FTL code. Instead we are using a pointer to UnlinkedStringTable stored in UnlinkedCodeBlock. This allows DFG / FTL to inline CodeBlock which includes op_switch_string. We were previously not able to do that because we cannot copy StringImpl in DFG / FTL concurrent compiler thread. 1. We handle StringJumpTable / UnlinkedStringJumpTable in the same way as SimpleJumpTable / UnlinkedSimpleJumpTable. 2. We put m_ctiDefault of StringJumpTable in the last element of m_ctiOffsets vector of StringJumpTable to make sizeof(StringJumpTable) small. 3. We use m_indexInTable instead of m_branchOffset in FTL switch generation to make switch table dense. The microbenchmark shows 30% improvement because of unlocking inlining feature. ToT Patched switch-inlining 27.1238+-0.2708 ^ 20.2630+-0.1477 ^ definitely 1.3386x faster <geometric> 27.1238+-0.2708 ^ 20.2630+-0.1477 ^ definitely 1.3386x faster * bytecode/JumpTable.h: (JSC::StringJumpTable::ensureCTITable): (JSC::StringJumpTable::ctiForValue const): (JSC::StringJumpTable::ctiDefault const): (JSC::StringJumpTable::isEmpty const): * bytecode/UnlinkedCodeBlock.h: (JSC::UnlinkedStringJumpTable::indexForValue const): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry): * dfg/DFGCapabilities.cpp: (JSC::DFG::capabilityLevel): * dfg/DFGGraph.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link): * dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLOperations.h: * jit/JIT.cpp: (JSC::JIT::link): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_switch_string): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_switch_string): * jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): Canonical link: https://commits.webkit.org/236890@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@276427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-04-22 08:27:42 +00:00
return unlinkedTable->indexForValue(strImpl, std::numeric_limits<unsigned>::max());
[JSC] Introduce UCPUStrictInt32 for result type of DFG operations https://bugs.webkit.org/show_bug.cgi?id=209832 Reviewed by Saam Barati. Let's introduce UCPUStrictInt32 to DFG operations to offload StrictInt32 code into operations C++ code. UCPUStrictInt32 is the same size to UCPURegister, and it is used for StrictInt32, which requires upper 32-bits are zeroed. * assembler/CPU.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetCharCodeAt): (JSC::DFG::SpeculativeJIT::compileValueToInt32): (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32): (JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult): (JSC::DFG::SpeculativeJIT::compileBitwiseNot): (JSC::DFG::SpeculativeJIT::compileBitwiseOp): (JSC::DFG::SpeculativeJIT::compileShiftOp): (JSC::DFG::SpeculativeJIT::compileArithAdd): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithSub): (JSC::DFG::SpeculativeJIT::compileArithNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): (JSC::DFG::SpeculativeJIT::compileArithDiv): (JSC::DFG::SpeculativeJIT::compileArithMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithMinMax): (JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileVarargsLength): (JSC::DFG::SpeculativeJIT::compileGetRestLength): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileGetEnumerableLength): (JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::strictInt32Result): (JSC::DFG::SpeculativeJIT::int32Result): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::compileStringCodePointAt): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::doubleToInt32): (JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32): * ftl/FTLOperations.cpp: (JSC::FTL::operationSwitchStringAndGetBranchOffset): (JSC::FTL::operationTypeOfObjectAsTypeofType): * ftl/FTLOperations.h: * jit/JITOperations.cpp: * jit/JITOperations.h: * runtime/MathCommon.cpp: (JSC::operationToInt32): (JSC::operationToInt32SensibleSlow): * runtime/MathCommon.h: (JSC::toUCPUStrictInt32): Canonical link: https://commits.webkit.org/222752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 23:41:50 +00:00
}
JSC_DEFINE_JIT_OPERATION(operationTypeOfObjectAsTypeofType, int32_t, (JSGlobalObject* globalObject, JSCell* object))
[JSC] Introduce UCPUStrictInt32 for result type of DFG operations https://bugs.webkit.org/show_bug.cgi?id=209832 Reviewed by Saam Barati. Let's introduce UCPUStrictInt32 to DFG operations to offload StrictInt32 code into operations C++ code. UCPUStrictInt32 is the same size to UCPURegister, and it is used for StrictInt32, which requires upper 32-bits are zeroed. * assembler/CPU.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetCharCodeAt): (JSC::DFG::SpeculativeJIT::compileValueToInt32): (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32): (JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult): (JSC::DFG::SpeculativeJIT::compileBitwiseNot): (JSC::DFG::SpeculativeJIT::compileBitwiseOp): (JSC::DFG::SpeculativeJIT::compileShiftOp): (JSC::DFG::SpeculativeJIT::compileArithAdd): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithSub): (JSC::DFG::SpeculativeJIT::compileArithNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): (JSC::DFG::SpeculativeJIT::compileArithDiv): (JSC::DFG::SpeculativeJIT::compileArithMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithMinMax): (JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileVarargsLength): (JSC::DFG::SpeculativeJIT::compileGetRestLength): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileGetEnumerableLength): (JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::strictInt32Result): (JSC::DFG::SpeculativeJIT::int32Result): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::compileStringCodePointAt): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::doubleToInt32): (JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32): * ftl/FTLOperations.cpp: (JSC::FTL::operationSwitchStringAndGetBranchOffset): (JSC::FTL::operationTypeOfObjectAsTypeofType): * ftl/FTLOperations.h: * jit/JITOperations.cpp: * jit/JITOperations.h: * runtime/MathCommon.cpp: (JSC::operationToInt32): (JSC::operationToInt32SensibleSlow): * runtime/MathCommon.h: (JSC::toUCPUStrictInt32): Canonical link: https://commits.webkit.org/222752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 23:41:50 +00:00
{
VM& vm = globalObject->vm();
CallFrame* callFrame = DECLARE_CALL_FRAME(vm);
JITOperationPrologueCallFrameTracer tracer(vm, callFrame);
ASSERT(jsDynamicCast<JSObject*>(vm, object));
if (object->structure(vm)->masqueradesAsUndefined(globalObject))
return static_cast<int32_t>(TypeofType::Undefined);
[JSC] Align upon the name isCallable instead of isFunction https://bugs.webkit.org/show_bug.cgi?id=211140 Reviewed by Darin Adler. Source/JavaScriptCore: Follow-up to r260722. Usage is now cleanly separated between isFunction / getCallData, but the name isCallable is still clearer than isFunction so let's flip that after all. * API/JSContextRef.cpp: (JSGlobalContextSetUnhandledRejectionCallback): * API/JSObjectRef.cpp: (JSObjectIsFunction): * dfg/DFGOperations.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToB3::compileIsFunction): (JSC::FTL::DFG::LowerDFGToB3::buildTypeOf): (JSC::FTL::DFG::LowerDFGToB3::isCallable): (JSC::FTL::DFG::LowerDFGToB3::isFunction): Deleted. * ftl/FTLOperations.cpp: (JSC::FTL::operationTypeOfObjectAsTypeofType): * jsc.cpp: (functionSetUnhandledRejectionCallback): * runtime/CommonSlowPaths.cpp: (JSC::SLOW_PATH_DECL): * runtime/ExceptionHelpers.cpp: (JSC::errorDescriptionForValue): * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/InternalFunction.cpp: (JSC::getFunctionRealm): * runtime/JSCJSValue.h: * runtime/JSCJSValueInlines.h: (JSC::JSValue::isCallable const): (JSC::JSValue::isFunction const): Deleted. * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::JSCell::isCallable): (JSC::JSCell::isFunction): Deleted. * runtime/JSONObject.cpp: (JSC::Stringifier::appendStringifiedValue): * runtime/ObjectConstructor.cpp: (JSC::toPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): * runtime/Operations.cpp: (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): * runtime/ProxyObject.cpp: (JSC::ProxyObject::structureForTarget): (JSC::ProxyObject::finishCreation): * runtime/RuntimeType.cpp: (JSC::runtimeTypeForValue): * tools/JSDollarVM.cpp: (JSC::functionCallWithStackSize): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): * wasm/WasmInstance.cpp: (JSC::Wasm::Instance::setFunctionWrapper): * wasm/WasmOperations.cpp: (JSC::Wasm::operationIterateResults): (JSC::Wasm::operationWasmRefFunc): * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::link): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::WebAssemblyWrapperFunction::finishCreation): Source/WebCore: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMPromise.cpp: (WebCore::DOMPromise::whenPromiseIsSettled): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::queueMicrotask): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::callInWorld): * bindings/scripts/CodeGeneratorJS.pm: (GenerateOverloadDispatcher): * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::cloneArrayBuffer): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): Source/WebKit: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::NPJSObject::hasMethod): Canonical link: https://commits.webkit.org/224042@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260848 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-04-28 21:51:37 +00:00
if (object->isCallable(vm))
[JSC] Introduce UCPUStrictInt32 for result type of DFG operations https://bugs.webkit.org/show_bug.cgi?id=209832 Reviewed by Saam Barati. Let's introduce UCPUStrictInt32 to DFG operations to offload StrictInt32 code into operations C++ code. UCPUStrictInt32 is the same size to UCPURegister, and it is used for StrictInt32, which requires upper 32-bits are zeroed. * assembler/CPU.h: * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileGetCharCodeAt): (JSC::DFG::SpeculativeJIT::compileValueToInt32): (JSC::DFG::SpeculativeJIT::compileUInt32ToNumber): (JSC::DFG::SpeculativeJIT::compileDoubleAsInt32): (JSC::DFG::SpeculativeJIT::setIntTypedArrayLoadResult): (JSC::DFG::SpeculativeJIT::compileBitwiseNot): (JSC::DFG::SpeculativeJIT::compileBitwiseOp): (JSC::DFG::SpeculativeJIT::compileShiftOp): (JSC::DFG::SpeculativeJIT::compileArithAdd): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithSub): (JSC::DFG::SpeculativeJIT::compileArithNegate): (JSC::DFG::SpeculativeJIT::compileArithMul): (JSC::DFG::SpeculativeJIT::compileArithDiv): (JSC::DFG::SpeculativeJIT::compileArithMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithMinMax): (JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset): (JSC::DFG::SpeculativeJIT::compileGetArrayLength): (JSC::DFG::SpeculativeJIT::compileVarargsLength): (JSC::DFG::SpeculativeJIT::compileGetRestLength): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileGetEnumerableLength): (JSC::DFG::SpeculativeJIT::compileGetArgumentCountIncludingThis): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::strictInt32Result): (JSC::DFG::SpeculativeJIT::int32Result): Deleted. * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::compileStringCodePointAt): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileVarargsLength): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::doubleToInt32): (JSC::FTL::DFG::LowerDFGToB3::sensibleDoubleToInt32): * ftl/FTLOperations.cpp: (JSC::FTL::operationSwitchStringAndGetBranchOffset): (JSC::FTL::operationTypeOfObjectAsTypeofType): * ftl/FTLOperations.h: * jit/JITOperations.cpp: * jit/JITOperations.h: * runtime/MathCommon.cpp: (JSC::operationToInt32): (JSC::operationToInt32SensibleSlow): * runtime/MathCommon.h: (JSC::toUCPUStrictInt32): Canonical link: https://commits.webkit.org/222752@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@259320 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-03-31 23:41:50 +00:00
return static_cast<int32_t>(TypeofType::Function);
return static_cast<int32_t>(TypeofType::Object);
}
JSC_DEFINE_JIT_OPERATION(operationCompileFTLLazySlowPath, void*, (CallFrame* callFrame, unsigned index))
FTL should generate code to call slow paths lazily https://bugs.webkit.org/show_bug.cgi?id=149936 Reviewed by Saam Barati. Source/JavaScriptCore: We often have complex slow paths in FTL-generated code. Those slow paths may never run. Even if they do run, they don't need stellar performance. So, it doesn't make sense to have LLVM worry about compiling such slow path code. This patch enables us to use our own MacroAssembler for compiling the slow path inside FTL code. It does this by using a crazy lambda thingy (see FTLLowerDFGToLLVM.cpp's lazySlowPath() and its documentation). The result is quite natural to use. Even for straight slow path calls via something like vmCall(), the lazySlowPath offers the benefit that the call marshalling and the exception checking are not expressed using LLVM IR and do not require LLVM to think about it. It also has the benefit that we never generate the code if it never runs. That's great, since function calls usually involve ~10 instructions total (move arguments to argument registers, make the call, check exception, etc.). This patch adds the lazy slow path abstraction and uses it for some slow paths in the FTL. The code we generate with lazy slow paths is worse than the code that LLVM would have generated. Therefore, a lazy slow path only makes sense when we have strong evidence that the slow path will execute infrequently relative to the fast path. This completely precludes the use of lazy slow paths for out-of-line Nodes that unconditionally call a C++ function. It also precludes their use for the GetByVal out-of-bounds handler, since when we generate a GetByVal with an out-of-bounds handler it means that we only know that the out-of-bounds case executed at least once. So, for all we know, it may actually be the common case. So, this patch just deployed the lazy slow path for GC slow paths and masquerades-as-undefined slow paths. It makes sense for GC slow paths because those have a statistical guarantee of slow path frequency - probably bounded at less than 1/10. It makes sense for masquerades-as- undefined because we can say quite confidently that this is an uncommon scenario on the modern Web. Something that's always been challenging about abstractions involving the MacroAssembler is that linking is a separate phase, and there is no way for someone who is just given access to the MacroAssembler& to emit code that requires linking, since linking happens once we have emitted all code and we are creating the LinkBuffer. Moreover, the FTL requires that the final parts of linking happen on the main thread. This patch ran into this issue, and solved it comprehensively, by introducing MacroAssembler::addLinkTask(). This takes a lambda and runs it at the bitter end of linking - when performFinalization() is called. This ensure that the task added by addLinkTask() runs on the main thread. This patch doesn't replace all of the previously existing idioms for dealing with this issue; we can do that later. This shows small speed-ups on a bunch of things. No big win on any benchmark aggregate. But mainly this is done for https://bugs.webkit.org/show_bug.cgi?id=149852, where we found that outlining the slow path in this way was a significant speed boost. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::replaceWithAddressComputation): (JSC::AbstractMacroAssembler::addLinkTask): (JSC::AbstractMacroAssembler::AbstractMacroAssembler): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::linkCode): (JSC::LinkBuffer::allocate): (JSC::LinkBuffer::performFinalization): * assembler/LinkBuffer.h: (JSC::LinkBuffer::wasAlreadyDisassembled): (JSC::LinkBuffer::didAlreadyDisassemble): (JSC::LinkBuffer::vm): (JSC::LinkBuffer::executableOffsetFor): * bytecode/CodeOrigin.h: (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::isSet): (JSC::CodeOrigin::operator bool): (JSC::CodeOrigin::isHashTableDeletedValue): (JSC::CodeOrigin::operator!): Deleted. * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): (JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor): * ftl/FTLJITCode.h: * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeFunction): * ftl/FTLJITFinalizer.h: * ftl/FTLLazySlowPath.cpp: Added. (JSC::FTL::LazySlowPath::LazySlowPath): (JSC::FTL::LazySlowPath::~LazySlowPath): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: Added. (JSC::FTL::LazySlowPath::createGenerator): (JSC::FTL::LazySlowPath::patchpoint): (JSC::FTL::LazySlowPath::usedRegisters): (JSC::FTL::LazySlowPath::callSiteIndex): (JSC::FTL::LazySlowPath::stub): * ftl/FTLLazySlowPathCall.h: Added. (JSC::FTL::createLazyCallGenerator): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope): (JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileIn): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer): (JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToLLVM::allocateObject): (JSC::FTL::DFG::LowerDFGToLLVM::allocateJSArray): (JSC::FTL::DFG::LowerDFGToLLVM::buildTypeOf): (JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32): (JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath): (JSC::FTL::DFG::LowerDFGToLLVM::speculate): (JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::SlowPathCallContext): (JSC::FTL::SlowPathCallContext::~SlowPathCallContext): (JSC::FTL::SlowPathCallContext::keyWithTarget): (JSC::FTL::SlowPathCallContext::makeCall): (JSC::FTL::callSiteIndexForCodeOrigin): (JSC::FTL::storeCodeOrigin): Deleted. (JSC::FTL::callOperation): Deleted. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLState.h: * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::registerClobberCheck): * ftl/FTLThunks.h: * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool): (JSC::CallSiteIndex::bits): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JITOperations.cpp: Source/WTF: Enables SharedTask to handle any function type, not just void(). It's probably better to use SharedTask instead of std::function in performance-sensitive code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc and has aliasing semantics. So, you can just trust that it will have sensible performance characteristics. * wtf/ParallelHelperPool.cpp: (WTF::ParallelHelperClient::~ParallelHelperClient): (WTF::ParallelHelperClient::setTask): (WTF::ParallelHelperClient::doSomeHelping): (WTF::ParallelHelperClient::runTaskInParallel): (WTF::ParallelHelperClient::finish): (WTF::ParallelHelperClient::claimTask): (WTF::ParallelHelperClient::runTask): (WTF::ParallelHelperPool::doSomeHelping): (WTF::ParallelHelperPool::helperThreadBody): * wtf/ParallelHelperPool.h: (WTF::ParallelHelperClient::setFunction): (WTF::ParallelHelperClient::runFunctionInParallel): (WTF::ParallelHelperClient::pool): * wtf/SharedTask.h: (WTF::createSharedTask): (WTF::SharedTask::SharedTask): Deleted. (WTF::SharedTask::~SharedTask): Deleted. (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted. Canonical link: https://commits.webkit.org/168154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-10-12 17:56:26 +00:00
{
[JSC] Remove non-LargeAllocation restriction for JSCallee https://bugs.webkit.org/show_bug.cgi?id=203260 Reviewed by Saam Barati. Source/JavaScriptCore: We now pass JSGlobalObject* instead of ExecState*. And we are getting VM& from JSGlobalObject*. Because now accessing ExecState::vm() becomes less frequent, we can remove the restriction that callee is only allocated in non-LargeAllocation, which restriction made ExecState::vm fast. This patch renames `CallFrame::vm` to `CallFrame::deprecatedVM`. And we avoid using it as much as possible. And we also remove the restriction that callee needs to be in non-LargeAllocation. * API/JSContextRef.cpp: (JSContextCreateBacktrace): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::noticeIncomingCall): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::functionName const): (JSC::DebuggerCallFrame::scope): (JSC::DebuggerCallFrame::type const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::positionForCallFrame): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOperations.cpp: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileFTLOSRExit): * ftl/FTLOperations.cpp: (JSC::FTL::compileFTLLazySlowPath): * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): * interpreter/CallFrame.cpp: (JSC::CallFrame::callerSourceOrigin): (JSC::CallFrame::friendlyFunctionName): * interpreter/CallFrame.h: (JSC::CallFrame::iterate): * interpreter/Interpreter.cpp: (JSC::sizeOfVarargs): (JSC::sizeFrameForVarargs): (JSC::Interpreter::getStackTrace): (JSC::Interpreter::unwind): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::update): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::StackVisitor): (JSC::StackVisitor::Frame::functionName const): * interpreter/StackVisitor.h: (JSC::StackVisitor::visit): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITOperations.cpp: * jit/Repatch.cpp: (JSC::linkFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jsc.cpp: (functionJSCStack): (functionRunString): (functionLoadString): (functionCallerSourceOrigin): (functionCallerIsOMGCompiled): (functionDollarEvalScript): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * runtime/Error.cpp: (JSC::getBytecodeOffset): * runtime/FunctionConstructor.cpp: (JSC::constructFunction): * runtime/JSCellInlines.h: (JSC::CallFrame::deprecatedVM const): (JSC::CallFrame::vm const): Deleted. * runtime/JSFunction.cpp: (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::defineOwnProperty): * runtime/JSGlobalObject.cpp: (JSC::assertCall): * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncEval): (JSC::globalFuncImportModule): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * tools/JSDollarVM.cpp: (IGNORE_WARNINGS_BEGIN): (JSC::functionLLintTrue): (JSC::functionJITTrue): (JSC::functionDumpRegisters): (JSC::functionShadowChickenFunctionsOnStack): * tools/VMInspector.cpp: (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpRegisters): (JSC::VMInspector::dumpStack): * wasm/js/WasmToJS.cpp: (JSC::Wasm::wasmToJS): Source/WebCore: Passing VM& instead of calling CallFrame::vm. * bindings/js/JSDOMGlobalObject.cpp: (WebCore::callerGlobalObject): * bindings/js/JSDOMWindowBase.cpp: (WebCore::responsibleDocument): * bindings/js/JSDOMWindowBase.h: * bindings/scripts/CodeGeneratorJS.pm: (GenerateCallWith): * testing/Internals.cpp: (WebCore::Internals::parserMetaData): Canonical link: https://commits.webkit.org/216694@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 21:23:26 +00:00
VM& vm = callFrame->deprecatedVM();
Move setting of scratch buffer active lengths to the runtime functions. https://bugs.webkit.org/show_bug.cgi?id=227013 rdar://79325068 Reviewed by Keith Miller. We previously emit JIT'ed code to set and unset the ScratchBuffer active length around calls into C++ runtime functions. This was needed because the runtime functions may allow GC to run, and GC needs to be able to scan the values stored in the ScratchBuffer. In this patch, we change it so that the runtime functions that need it will declare an ActiveScratchBufferScope RAII object that will set the ScratchBuffer active length, and unset it on exit. This allows us to: 1. Emit less JIT code. The runtime function can take care of it. 2. Elide setting the ScratchBuffer active length if not needed. The runtime functions know whether they can GC or not. They only need to set the active length if they can GC. Note that scanning of the active ScratchBuffer is done synchronously on the mutator thread via Heap::gatherScratchBufferRoots(), which is called as part of the GC conservative root scan. This means there is no urgency / sequencing that requires that the active length be set before calling into the runtime function. Setting it in the runtime function itself is fine as long as it is done before the function executes any operations that can GC. This patch also made the following changes: 1. Introduce ActiveScratchBufferScope RAII object used to set/unset the ScratchBuffer length in the runtime functions. ActiveScratchBufferScope takes the active length in units of number of stack slots / Registers / JSValues instead of bytes. 2. Deleted ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall() and ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall(). These functions are unused. The reasoning behind what values to pass to ActiveScratchBufferScope, is any: 1. AssemblyHelpers::debugCall() in AssemblyHelpers.cpp: The ScratchBuffer is only used for operationDebugPrintSpeculationFailure(), which now declares an ActiveScratchBufferScope. The active length is GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters. See scratchSize in AssemblyHelpers::debugCall(). 2. genericGenerationThunkGenerator() in FTLThunks.cpp: The scratch buffer size for determining the active length is requiredScratchMemorySizeInBytes(). However, genericGenerationThunkGenerator() generates code to call either operationCompileFTLOSRExit() or operationCompileFTLLazySlowPath(). Both of these functions will DeferGCForAWhile. Hence, GC cannot run, and we don't need to set the active length here. 3. compileArrayPush() in FTLLowerDFGToB3.cpp: Cases Array::Int32, Array::Contiguous, or Array::Double calls operationArrayPushMultiple() or operationArrayPushDoubleMultiple(). For operationArrayPushMultiple(), the active length is elementCount. See computation of scratchSize. For operationArrayPushDoubleMultiple(), we don't need to set the active length because the ScratchBuffer only contains double values. The GC does not need to scan those. Case Array::ArrayStorage calls operationArrayPushMultiple(). The active length is elementCount. See computation of scratchSize. compileNewArray() in FTLLowerDFGToB3.cpp: Calls operationNewArray(). Active length is m_node->numChildren(), which is passed to operationNewArray() as the size parameter. See computation of scratchSize. compileNewArrayWithSpread() in FTLLowerDFGToB3.cpp: Calls operationNewArrayWithSpreadSlow(). Active length is m_node->numChildren(), which is passes to operationNewArrayWithSpreadSlow() as the numItems parameter. See computation of scratchSize. 4. osrExitGenerationThunkGenerator() in DFGThunks.cpp: Calls operationCompileOSRExit(). Active length is GPRInfo::numberOfRegisters + FPRInfo::numberOfRegisters. See computation of scratchSize. 5. compileNewArray() in DFGSpeculativeJIT.cpp: Calls operationNewArray(). Active length is node->numChildren(), which is passed in as the size parameter. compileNewArrayWithSpread() in DFGSpeculativeJIT.cpp: Calls operationNewArrayWithSpreadSlow(). Active length is node->numChildren(), which is passed in as the numItems parameter. compileArrayPush() in DFGSpeculativeJIT.cpp: Calls operationArrayPushMultiple(). Active length is elementCount, which is passed in as the elementCount parameter. Calls operationArrayPushDoubleMultiple(). Active length is elementCount, but we don't need to set it because the ScratchBuffer only contains double values. * dfg/DFGOSRExit.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGOperations.cpp: (JSC::DFG::JSC_DEFINE_JIT_OPERATION): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArrayPush): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitGenerationThunkGenerator): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLOperations.cpp: (JSC::FTL::JSC_DEFINE_JIT_OPERATION): * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::debugCall): * jit/ScratchRegisterAllocator.cpp: (JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall): Deleted. (JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall): Deleted. * jit/ScratchRegisterAllocator.h: * runtime/VM.h: * runtime/VMInlines.h: (JSC::ActiveScratchBufferScope::ActiveScratchBufferScope): (JSC::ActiveScratchBufferScope::~ActiveScratchBufferScope): Canonical link: https://commits.webkit.org/238819@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-06-15 16:09:27 +00:00
// Don't need an ActiveScratchBufferScope here because we DeferGCForAWhile.
FTL should generate code to call slow paths lazily https://bugs.webkit.org/show_bug.cgi?id=149936 Reviewed by Saam Barati. Source/JavaScriptCore: We often have complex slow paths in FTL-generated code. Those slow paths may never run. Even if they do run, they don't need stellar performance. So, it doesn't make sense to have LLVM worry about compiling such slow path code. This patch enables us to use our own MacroAssembler for compiling the slow path inside FTL code. It does this by using a crazy lambda thingy (see FTLLowerDFGToLLVM.cpp's lazySlowPath() and its documentation). The result is quite natural to use. Even for straight slow path calls via something like vmCall(), the lazySlowPath offers the benefit that the call marshalling and the exception checking are not expressed using LLVM IR and do not require LLVM to think about it. It also has the benefit that we never generate the code if it never runs. That's great, since function calls usually involve ~10 instructions total (move arguments to argument registers, make the call, check exception, etc.). This patch adds the lazy slow path abstraction and uses it for some slow paths in the FTL. The code we generate with lazy slow paths is worse than the code that LLVM would have generated. Therefore, a lazy slow path only makes sense when we have strong evidence that the slow path will execute infrequently relative to the fast path. This completely precludes the use of lazy slow paths for out-of-line Nodes that unconditionally call a C++ function. It also precludes their use for the GetByVal out-of-bounds handler, since when we generate a GetByVal with an out-of-bounds handler it means that we only know that the out-of-bounds case executed at least once. So, for all we know, it may actually be the common case. So, this patch just deployed the lazy slow path for GC slow paths and masquerades-as-undefined slow paths. It makes sense for GC slow paths because those have a statistical guarantee of slow path frequency - probably bounded at less than 1/10. It makes sense for masquerades-as- undefined because we can say quite confidently that this is an uncommon scenario on the modern Web. Something that's always been challenging about abstractions involving the MacroAssembler is that linking is a separate phase, and there is no way for someone who is just given access to the MacroAssembler& to emit code that requires linking, since linking happens once we have emitted all code and we are creating the LinkBuffer. Moreover, the FTL requires that the final parts of linking happen on the main thread. This patch ran into this issue, and solved it comprehensively, by introducing MacroAssembler::addLinkTask(). This takes a lambda and runs it at the bitter end of linking - when performFinalization() is called. This ensure that the task added by addLinkTask() runs on the main thread. This patch doesn't replace all of the previously existing idioms for dealing with this issue; we can do that later. This shows small speed-ups on a bunch of things. No big win on any benchmark aggregate. But mainly this is done for https://bugs.webkit.org/show_bug.cgi?id=149852, where we found that outlining the slow path in this way was a significant speed boost. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::replaceWithAddressComputation): (JSC::AbstractMacroAssembler::addLinkTask): (JSC::AbstractMacroAssembler::AbstractMacroAssembler): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::linkCode): (JSC::LinkBuffer::allocate): (JSC::LinkBuffer::performFinalization): * assembler/LinkBuffer.h: (JSC::LinkBuffer::wasAlreadyDisassembled): (JSC::LinkBuffer::didAlreadyDisassemble): (JSC::LinkBuffer::vm): (JSC::LinkBuffer::executableOffsetFor): * bytecode/CodeOrigin.h: (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::isSet): (JSC::CodeOrigin::operator bool): (JSC::CodeOrigin::isHashTableDeletedValue): (JSC::CodeOrigin::operator!): Deleted. * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): (JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor): * ftl/FTLJITCode.h: * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeFunction): * ftl/FTLJITFinalizer.h: * ftl/FTLLazySlowPath.cpp: Added. (JSC::FTL::LazySlowPath::LazySlowPath): (JSC::FTL::LazySlowPath::~LazySlowPath): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: Added. (JSC::FTL::LazySlowPath::createGenerator): (JSC::FTL::LazySlowPath::patchpoint): (JSC::FTL::LazySlowPath::usedRegisters): (JSC::FTL::LazySlowPath::callSiteIndex): (JSC::FTL::LazySlowPath::stub): * ftl/FTLLazySlowPathCall.h: Added. (JSC::FTL::createLazyCallGenerator): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope): (JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileIn): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer): (JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToLLVM::allocateObject): (JSC::FTL::DFG::LowerDFGToLLVM::allocateJSArray): (JSC::FTL::DFG::LowerDFGToLLVM::buildTypeOf): (JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32): (JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath): (JSC::FTL::DFG::LowerDFGToLLVM::speculate): (JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::SlowPathCallContext): (JSC::FTL::SlowPathCallContext::~SlowPathCallContext): (JSC::FTL::SlowPathCallContext::keyWithTarget): (JSC::FTL::SlowPathCallContext::makeCall): (JSC::FTL::callSiteIndexForCodeOrigin): (JSC::FTL::storeCodeOrigin): Deleted. (JSC::FTL::callOperation): Deleted. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLState.h: * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::registerClobberCheck): * ftl/FTLThunks.h: * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool): (JSC::CallSiteIndex::bits): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JITOperations.cpp: Source/WTF: Enables SharedTask to handle any function type, not just void(). It's probably better to use SharedTask instead of std::function in performance-sensitive code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc and has aliasing semantics. So, you can just trust that it will have sensible performance characteristics. * wtf/ParallelHelperPool.cpp: (WTF::ParallelHelperClient::~ParallelHelperClient): (WTF::ParallelHelperClient::setTask): (WTF::ParallelHelperClient::doSomeHelping): (WTF::ParallelHelperClient::runTaskInParallel): (WTF::ParallelHelperClient::finish): (WTF::ParallelHelperClient::claimTask): (WTF::ParallelHelperClient::runTask): (WTF::ParallelHelperPool::doSomeHelping): (WTF::ParallelHelperPool::helperThreadBody): * wtf/ParallelHelperPool.h: (WTF::ParallelHelperClient::setFunction): (WTF::ParallelHelperClient::runFunctionInParallel): (WTF::ParallelHelperClient::pool): * wtf/SharedTask.h: (WTF::createSharedTask): (WTF::SharedTask::SharedTask): Deleted. (WTF::SharedTask::~SharedTask): Deleted. (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted. Canonical link: https://commits.webkit.org/168154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-10-12 17:56:26 +00:00
// We cannot GC. We've got pointers in evil places.
DeferGCForAWhile deferGC(vm.heap);
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
CodeBlock* codeBlock = callFrame->codeBlock();
FTL should generate code to call slow paths lazily https://bugs.webkit.org/show_bug.cgi?id=149936 Reviewed by Saam Barati. Source/JavaScriptCore: We often have complex slow paths in FTL-generated code. Those slow paths may never run. Even if they do run, they don't need stellar performance. So, it doesn't make sense to have LLVM worry about compiling such slow path code. This patch enables us to use our own MacroAssembler for compiling the slow path inside FTL code. It does this by using a crazy lambda thingy (see FTLLowerDFGToLLVM.cpp's lazySlowPath() and its documentation). The result is quite natural to use. Even for straight slow path calls via something like vmCall(), the lazySlowPath offers the benefit that the call marshalling and the exception checking are not expressed using LLVM IR and do not require LLVM to think about it. It also has the benefit that we never generate the code if it never runs. That's great, since function calls usually involve ~10 instructions total (move arguments to argument registers, make the call, check exception, etc.). This patch adds the lazy slow path abstraction and uses it for some slow paths in the FTL. The code we generate with lazy slow paths is worse than the code that LLVM would have generated. Therefore, a lazy slow path only makes sense when we have strong evidence that the slow path will execute infrequently relative to the fast path. This completely precludes the use of lazy slow paths for out-of-line Nodes that unconditionally call a C++ function. It also precludes their use for the GetByVal out-of-bounds handler, since when we generate a GetByVal with an out-of-bounds handler it means that we only know that the out-of-bounds case executed at least once. So, for all we know, it may actually be the common case. So, this patch just deployed the lazy slow path for GC slow paths and masquerades-as-undefined slow paths. It makes sense for GC slow paths because those have a statistical guarantee of slow path frequency - probably bounded at less than 1/10. It makes sense for masquerades-as- undefined because we can say quite confidently that this is an uncommon scenario on the modern Web. Something that's always been challenging about abstractions involving the MacroAssembler is that linking is a separate phase, and there is no way for someone who is just given access to the MacroAssembler& to emit code that requires linking, since linking happens once we have emitted all code and we are creating the LinkBuffer. Moreover, the FTL requires that the final parts of linking happen on the main thread. This patch ran into this issue, and solved it comprehensively, by introducing MacroAssembler::addLinkTask(). This takes a lambda and runs it at the bitter end of linking - when performFinalization() is called. This ensure that the task added by addLinkTask() runs on the main thread. This patch doesn't replace all of the previously existing idioms for dealing with this issue; we can do that later. This shows small speed-ups on a bunch of things. No big win on any benchmark aggregate. But mainly this is done for https://bugs.webkit.org/show_bug.cgi?id=149852, where we found that outlining the slow path in this way was a significant speed boost. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::replaceWithAddressComputation): (JSC::AbstractMacroAssembler::addLinkTask): (JSC::AbstractMacroAssembler::AbstractMacroAssembler): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::linkCode): (JSC::LinkBuffer::allocate): (JSC::LinkBuffer::performFinalization): * assembler/LinkBuffer.h: (JSC::LinkBuffer::wasAlreadyDisassembled): (JSC::LinkBuffer::didAlreadyDisassemble): (JSC::LinkBuffer::vm): (JSC::LinkBuffer::executableOffsetFor): * bytecode/CodeOrigin.h: (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::isSet): (JSC::CodeOrigin::operator bool): (JSC::CodeOrigin::isHashTableDeletedValue): (JSC::CodeOrigin::operator!): Deleted. * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): (JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor): * ftl/FTLJITCode.h: * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeFunction): * ftl/FTLJITFinalizer.h: * ftl/FTLLazySlowPath.cpp: Added. (JSC::FTL::LazySlowPath::LazySlowPath): (JSC::FTL::LazySlowPath::~LazySlowPath): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: Added. (JSC::FTL::LazySlowPath::createGenerator): (JSC::FTL::LazySlowPath::patchpoint): (JSC::FTL::LazySlowPath::usedRegisters): (JSC::FTL::LazySlowPath::callSiteIndex): (JSC::FTL::LazySlowPath::stub): * ftl/FTLLazySlowPathCall.h: Added. (JSC::FTL::createLazyCallGenerator): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope): (JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileIn): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer): (JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToLLVM::allocateObject): (JSC::FTL::DFG::LowerDFGToLLVM::allocateJSArray): (JSC::FTL::DFG::LowerDFGToLLVM::buildTypeOf): (JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32): (JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath): (JSC::FTL::DFG::LowerDFGToLLVM::speculate): (JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::SlowPathCallContext): (JSC::FTL::SlowPathCallContext::~SlowPathCallContext): (JSC::FTL::SlowPathCallContext::keyWithTarget): (JSC::FTL::SlowPathCallContext::makeCall): (JSC::FTL::callSiteIndexForCodeOrigin): (JSC::FTL::storeCodeOrigin): Deleted. (JSC::FTL::callOperation): Deleted. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLState.h: * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::registerClobberCheck): * ftl/FTLThunks.h: * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool): (JSC::CallSiteIndex::bits): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JITOperations.cpp: Source/WTF: Enables SharedTask to handle any function type, not just void(). It's probably better to use SharedTask instead of std::function in performance-sensitive code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc and has aliasing semantics. So, you can just trust that it will have sensible performance characteristics. * wtf/ParallelHelperPool.cpp: (WTF::ParallelHelperClient::~ParallelHelperClient): (WTF::ParallelHelperClient::setTask): (WTF::ParallelHelperClient::doSomeHelping): (WTF::ParallelHelperClient::runTaskInParallel): (WTF::ParallelHelperClient::finish): (WTF::ParallelHelperClient::claimTask): (WTF::ParallelHelperClient::runTask): (WTF::ParallelHelperPool::doSomeHelping): (WTF::ParallelHelperPool::helperThreadBody): * wtf/ParallelHelperPool.h: (WTF::ParallelHelperClient::setFunction): (WTF::ParallelHelperClient::runFunctionInParallel): (WTF::ParallelHelperClient::pool): * wtf/SharedTask.h: (WTF::createSharedTask): (WTF::SharedTask::SharedTask): Deleted. (WTF::SharedTask::~SharedTask): Deleted. (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted. Canonical link: https://commits.webkit.org/168154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-10-12 17:56:26 +00:00
JITCode* jitCode = codeBlock->jitCode()->ftl();
LazySlowPath& lazySlowPath = *jitCode->lazySlowPaths[index];
lazySlowPath.generate(codeBlock);
Templatize CodePtr/Refs/FunctionPtrs with PtrTags. https://bugs.webkit.org/show_bug.cgi?id=184702 <rdar://problem/35391681> Reviewed by Filip Pizlo and Saam Barati. Source/JavaScriptCore: 1. Templatized MacroAssemblerCodePtr/Ref, FunctionPtr, and CodeLocation variants to take a PtrTag template argument. 2. Replaced some uses of raw pointers with the equivalent CodePtr / FunctionPtr. * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::differenceBetweenCodePtr): (JSC::AbstractMacroAssembler::linkJump): (JSC::AbstractMacroAssembler::linkPointer): (JSC::AbstractMacroAssembler::getLinkerAddress): (JSC::AbstractMacroAssembler::repatchJump): (JSC::AbstractMacroAssembler::repatchJumpToNop): (JSC::AbstractMacroAssembler::repatchNearCall): (JSC::AbstractMacroAssembler::repatchCompact): (JSC::AbstractMacroAssembler::repatchInt32): (JSC::AbstractMacroAssembler::repatchPointer): (JSC::AbstractMacroAssembler::readPointer): (JSC::AbstractMacroAssembler::replaceWithLoad): (JSC::AbstractMacroAssembler::replaceWithAddressComputation): * assembler/CodeLocation.h: (JSC::CodeLocationCommon:: const): (JSC::CodeLocationCommon::CodeLocationCommon): (JSC::CodeLocationInstruction::CodeLocationInstruction): (JSC::CodeLocationLabel::CodeLocationLabel): (JSC::CodeLocationLabel::retagged): (JSC::CodeLocationLabel:: const): (JSC::CodeLocationJump::CodeLocationJump): (JSC::CodeLocationJump::retagged): (JSC::CodeLocationCall::CodeLocationCall): (JSC::CodeLocationCall::retagged): (JSC::CodeLocationNearCall::CodeLocationNearCall): (JSC::CodeLocationDataLabel32::CodeLocationDataLabel32): (JSC::CodeLocationDataLabelCompact::CodeLocationDataLabelCompact): (JSC::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr): (JSC::CodeLocationConvertibleLoad::CodeLocationConvertibleLoad): (JSC::CodeLocationCommon<tag>::instructionAtOffset): (JSC::CodeLocationCommon<tag>::labelAtOffset): (JSC::CodeLocationCommon<tag>::jumpAtOffset): (JSC::CodeLocationCommon<tag>::callAtOffset): (JSC::CodeLocationCommon<tag>::nearCallAtOffset): (JSC::CodeLocationCommon<tag>::dataLabelPtrAtOffset): (JSC::CodeLocationCommon<tag>::dataLabel32AtOffset): (JSC::CodeLocationCommon<tag>::dataLabelCompactAtOffset): (JSC::CodeLocationCommon<tag>::convertibleLoadAtOffset): (JSC::CodeLocationCommon::instructionAtOffset): Deleted. (JSC::CodeLocationCommon::labelAtOffset): Deleted. (JSC::CodeLocationCommon::jumpAtOffset): Deleted. (JSC::CodeLocationCommon::callAtOffset): Deleted. (JSC::CodeLocationCommon::nearCallAtOffset): Deleted. (JSC::CodeLocationCommon::dataLabelPtrAtOffset): Deleted. (JSC::CodeLocationCommon::dataLabel32AtOffset): Deleted. (JSC::CodeLocationCommon::dataLabelCompactAtOffset): Deleted. (JSC::CodeLocationCommon::convertibleLoadAtOffset): Deleted. * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::finalizeCodeWithoutDisassemblyImpl): (JSC::LinkBuffer::finalizeCodeWithDisassemblyImpl): (JSC::LinkBuffer::finalizeCodeWithoutDisassembly): Deleted. (JSC::LinkBuffer::finalizeCodeWithDisassembly): Deleted. * assembler/LinkBuffer.h: (JSC::LinkBuffer::link): (JSC::LinkBuffer::patch): (JSC::LinkBuffer::entrypoint): (JSC::LinkBuffer::locationOf): (JSC::LinkBuffer::locationOfNearCall): (JSC::LinkBuffer::finalizeCodeWithoutDisassembly): (JSC::LinkBuffer::finalizeCodeWithDisassembly): (JSC::LinkBuffer::trampolineAt): * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::readCallTarget): (JSC::MacroAssemblerARM::replaceWithJump): (JSC::MacroAssemblerARM::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerARM::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerARM::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerARM::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerARM::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerARM::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerARM::repatchCall): (JSC::MacroAssemblerARM::linkCall): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::readCallTarget): (JSC::MacroAssemblerARM64::replaceWithVMHalt): (JSC::MacroAssemblerARM64::replaceWithJump): (JSC::MacroAssemblerARM64::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerARM64::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerARM64::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerARM64::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerARM64::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerARM64::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerARM64::repatchCall): (JSC::MacroAssemblerARM64::linkCall): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::replaceWithJump): (JSC::MacroAssemblerARMv7::readCallTarget): (JSC::MacroAssemblerARMv7::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerARMv7::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerARMv7::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerARMv7::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerARMv7::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerARMv7::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerARMv7::repatchCall): (JSC::MacroAssemblerARMv7::linkCall): * assembler/MacroAssemblerCodeRef.cpp: (JSC::MacroAssemblerCodePtrBase::dumpWithName): (JSC::MacroAssemblerCodeRefBase::tryToDisassemble): (JSC::MacroAssemblerCodeRefBase::disassembly): (JSC::MacroAssemblerCodePtr::createLLIntCodePtr): Deleted. (JSC::MacroAssemblerCodePtr::dumpWithName const): Deleted. (JSC::MacroAssemblerCodePtr::dump const): Deleted. (JSC::MacroAssemblerCodeRef::createLLIntCodeRef): Deleted. (JSC::MacroAssemblerCodeRef::tryToDisassemble const): Deleted. (JSC::MacroAssemblerCodeRef::disassembly const): Deleted. (JSC::MacroAssemblerCodeRef::dump const): Deleted. * assembler/MacroAssemblerCodeRef.h: (JSC::FunctionPtr::FunctionPtr): (JSC::FunctionPtr::retagged const): (JSC::FunctionPtr::retaggedExecutableAddress const): (JSC::FunctionPtr::operator== const): (JSC::FunctionPtr::operator!= const): (JSC::ReturnAddressPtr::ReturnAddressPtr): (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): (JSC::MacroAssemblerCodePtr::createFromExecutableAddress): (JSC::MacroAssemblerCodePtr::retagged const): (JSC::MacroAssemblerCodePtr:: const): (JSC::MacroAssemblerCodePtr::dumpWithName const): (JSC::MacroAssemblerCodePtr::dump const): (JSC::MacroAssemblerCodePtrHash::hash): (JSC::MacroAssemblerCodePtrHash::equal): (JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef): (JSC::MacroAssemblerCodeRef::createSelfManagedCodeRef): (JSC::MacroAssemblerCodeRef::code const): (JSC::MacroAssemblerCodeRef::retaggedCode const): (JSC::MacroAssemblerCodeRef::retagged const): (JSC::MacroAssemblerCodeRef::tryToDisassemble const): (JSC::MacroAssemblerCodeRef::disassembly const): (JSC::MacroAssemblerCodeRef::dump const): (JSC::FunctionPtr<tag>::FunctionPtr): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::readCallTarget): (JSC::MacroAssemblerMIPS::replaceWithJump): (JSC::MacroAssemblerMIPS::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerMIPS::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerMIPS::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerMIPS::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerMIPS::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerMIPS::repatchCall): (JSC::MacroAssemblerMIPS::linkCall): * assembler/MacroAssemblerX86.h: (JSC::MacroAssemblerX86::readCallTarget): (JSC::MacroAssemblerX86::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerX86::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerX86::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerX86::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerX86::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerX86::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerX86::repatchCall): (JSC::MacroAssemblerX86::linkCall): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::repatchCompact): (JSC::MacroAssemblerX86Common::replaceWithVMHalt): (JSC::MacroAssemblerX86Common::replaceWithJump): * assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::readCallTarget): (JSC::MacroAssemblerX86_64::startOfBranchPtrWithPatchOnRegister): (JSC::MacroAssemblerX86_64::startOfBranch32WithPatchOnRegister): (JSC::MacroAssemblerX86_64::startOfPatchableBranchPtrWithPatchOnAddress): (JSC::MacroAssemblerX86_64::startOfPatchableBranch32WithPatchOnAddress): (JSC::MacroAssemblerX86_64::revertJumpReplacementToPatchableBranchPtrWithPatch): (JSC::MacroAssemblerX86_64::revertJumpReplacementToPatchableBranch32WithPatch): (JSC::MacroAssemblerX86_64::revertJumpReplacementToBranchPtrWithPatch): (JSC::MacroAssemblerX86_64::repatchCall): (JSC::MacroAssemblerX86_64::linkCall): * assembler/testmasm.cpp: (JSC::compile): (JSC::invoke): (JSC::testProbeModifiesProgramCounter): * b3/B3Compilation.cpp: (JSC::B3::Compilation::Compilation): * b3/B3Compilation.h: (JSC::B3::Compilation::code const): (JSC::B3::Compilation::codeRef const): * b3/B3Compile.cpp: (JSC::B3::compile): * b3/B3LowerMacros.cpp: * b3/air/AirDisassembler.cpp: (JSC::B3::Air::Disassembler::dump): * b3/air/testair.cpp: * b3/testb3.cpp: (JSC::B3::invoke): (JSC::B3::testInterpreter): (JSC::B3::testEntrySwitchSimple): (JSC::B3::testEntrySwitchNoEntrySwitch): (JSC::B3::testEntrySwitchWithCommonPaths): (JSC::B3::testEntrySwitchWithCommonPathsAndNonTrivialEntrypoint): (JSC::B3::testEntrySwitchLoop): * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/ByValInfo.h: (JSC::ByValInfo::ByValInfo): * bytecode/CallLinkInfo.cpp: (JSC::CallLinkInfo::callReturnLocation): (JSC::CallLinkInfo::patchableJump): (JSC::CallLinkInfo::hotPathBegin): (JSC::CallLinkInfo::slowPathStart): * bytecode/CallLinkInfo.h: (JSC::CallLinkInfo::setCallLocations): (JSC::CallLinkInfo::hotPathOther): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): * bytecode/GetByIdStatus.cpp: (JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback): * bytecode/GetByIdVariant.cpp: (JSC::GetByIdVariant::GetByIdVariant): (JSC::GetByIdVariant::dumpInContext const): * bytecode/GetByIdVariant.h: (JSC::GetByIdVariant::customAccessorGetter const): * bytecode/GetterSetterAccessCase.cpp: (JSC::GetterSetterAccessCase::create): (JSC::GetterSetterAccessCase::GetterSetterAccessCase): (JSC::GetterSetterAccessCase::dumpImpl const): * bytecode/GetterSetterAccessCase.h: (JSC::GetterSetterAccessCase::customAccessor const): (): Deleted. * bytecode/HandlerInfo.h: (JSC::HandlerInfo::initialize): * bytecode/InlineAccess.cpp: (JSC::linkCodeInline): (JSC::InlineAccess::rewireStubAsJump): * bytecode/InlineAccess.h: * bytecode/JumpTable.h: (JSC::StringJumpTable::ctiForValue): (JSC::SimpleJumpTable::ctiForValue): * bytecode/LLIntCallLinkInfo.h: (JSC::LLIntCallLinkInfo::unlink): * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): (JSC::PolymorphicAccess::regenerate): * bytecode/PolymorphicAccess.h: (JSC::AccessGenerationResult::AccessGenerationResult): (JSC::AccessGenerationResult::code const): * bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::slowPathCallLocation): (JSC::StructureStubInfo::doneLocation): (JSC::StructureStubInfo::slowPathStartLocation): (JSC::StructureStubInfo::patchableJumpForIn): * dfg/DFGCommonData.h: (JSC::DFG::CommonData::appendCatchEntrypoint): * dfg/DFGDisassembler.cpp: (JSC::DFG::Disassembler::dumpDisassembly): * dfg/DFGDriver.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::linkOSRExits): (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::link): (JSC::DFG::JITCompiler::compileFunction): (JSC::DFG::JITCompiler::noticeCatchEntrypoint): * dfg/DFGJITCompiler.h: (JSC::DFG::CallLinkRecord::CallLinkRecord): (JSC::DFG::JITCompiler::appendCall): (JSC::DFG::JITCompiler::JSCallRecord::JSCallRecord): (JSC::DFG::JITCompiler::JSDirectCallRecord::JSDirectCallRecord): (JSC::DFG::JITCompiler::JSDirectTailCallRecord::JSDirectTailCallRecord): * dfg/DFGJITFinalizer.cpp: (JSC::DFG::JITFinalizer::JITFinalizer): (JSC::DFG::JITFinalizer::finalize): (JSC::DFG::JITFinalizer::finalizeFunction): * dfg/DFGJITFinalizer.h: * dfg/DFGJumpReplacement.h: (JSC::DFG::JumpReplacement::JumpReplacement): * dfg/DFGNode.h: * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::OSRExit::codeLocationForRepatch const): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::handleExitCounts): (JSC::DFG::reifyInlinedCallFrames): (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: * dfg/DFGSlowPathGenerator.h: (JSC::DFG::CallResultAndArgumentsSlowPathGenerator::CallResultAndArgumentsSlowPathGenerator): (JSC::DFG::CallResultAndArgumentsSlowPathGenerator::unpackAndGenerate): (JSC::DFG::slowPathCall): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::emitSwitchIntJump): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::cachedPutById): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperation): (JSC::DFG::SpeculativeJIT::appendCall): (JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::appendCallWithCallFrameRollbackOnExceptionSetResult): (JSC::DFG::SpeculativeJIT::appendCallSetResult): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGThunks.cpp: (JSC::DFG::osrExitThunkGenerator): (JSC::DFG::osrExitGenerationThunkGenerator): (JSC::DFG::osrEntryThunkGenerator): * dfg/DFGThunks.h: * disassembler/ARM64Disassembler.cpp: (JSC::tryToDisassemble): * disassembler/ARMv7Disassembler.cpp: (JSC::tryToDisassemble): * disassembler/Disassembler.cpp: (JSC::disassemble): (JSC::disassembleAsynchronously): * disassembler/Disassembler.h: (JSC::tryToDisassemble): * disassembler/UDis86Disassembler.cpp: (JSC::tryToDisassembleWithUDis86): * disassembler/UDis86Disassembler.h: (JSC::tryToDisassembleWithUDis86): * disassembler/X86Disassembler.cpp: (JSC::tryToDisassemble): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLExceptionTarget.cpp: (JSC::FTL::ExceptionTarget::label): (JSC::FTL::ExceptionTarget::jumps): * ftl/FTLExceptionTarget.h: * ftl/FTLGeneratedFunction.h: * ftl/FTLJITCode.cpp: (JSC::FTL::JITCode::initializeB3Code): (JSC::FTL::JITCode::initializeAddressForCall): (JSC::FTL::JITCode::initializeArityCheckEntrypoint): (JSC::FTL::JITCode::addressForCall): (JSC::FTL::JITCode::executableAddressAtOffset): * ftl/FTLJITCode.h: (JSC::FTL::JITCode::b3Code const): * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeCommon): * ftl/FTLLazySlowPath.cpp: (JSC::FTL::LazySlowPath::initialize): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: (JSC::FTL::LazySlowPath::patchableJump const): (JSC::FTL::LazySlowPath::done const): (JSC::FTL::LazySlowPath::stub const): * ftl/FTLLazySlowPathCall.h: (JSC::FTL::createLazyCallGenerator): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileDirectCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileInvalidationPoint): (JSC::FTL::DFG::LowerDFGToB3::compileIn): (JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::lazySlowPath): * ftl/FTLOSRExit.cpp: (JSC::FTL::OSRExit::codeLocationForRepatch const): * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitHandle.cpp: (JSC::FTL::OSRExitHandle::emitExitThunk): * ftl/FTLOperations.cpp: (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLPatchpointExceptionHandle.cpp: (JSC::FTL::PatchpointExceptionHandle::scheduleExitCreationForUnwind): * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::keyWithTarget const): (JSC::FTL::SlowPathCallContext::makeCall): * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLSlowPathCallKey.cpp: (JSC::FTL::SlowPathCallKey::dump const): * ftl/FTLSlowPathCallKey.h: (JSC::FTL::SlowPathCallKey::SlowPathCallKey): (JSC::FTL::SlowPathCallKey::callTarget const): (JSC::FTL::SlowPathCallKey::withCallTarget): (JSC::FTL::SlowPathCallKey::hash const): (JSC::FTL::SlowPathCallKey::callPtrTag const): Deleted. * ftl/FTLState.cpp: (JSC::FTL::State::State): * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::slowPathCallThunkGenerator): * ftl/FTLThunks.h: (JSC::FTL::generateIfNecessary): (JSC::FTL::keyForThunk): (JSC::FTL::Thunks::getSlowPathCallThunk): (JSC::FTL::Thunks::keyForSlowPathCallThunk): * interpreter/InterpreterInlines.h: (JSC::Interpreter::getOpcodeID): * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::callExceptionFuzz): (JSC::AssemblyHelpers::emitDumbVirtualCall): (JSC::AssemblyHelpers::debugCall): * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/ExecutableAllocator.cpp: (JSC::FixedVMPoolExecutableAllocator::initializeSeparatedWXHeaps): (JSC::FixedVMPoolExecutableAllocator::jitWriteThunkGenerator): * jit/ExecutableAllocator.h: (JSC::performJITMemcpy): * jit/GCAwareJITStubRoutine.cpp: (JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine): (JSC::MarkingGCAwareJITStubRoutine::MarkingGCAwareJITStubRoutine): (JSC::GCAwareJITStubRoutineWithExceptionHandler::GCAwareJITStubRoutineWithExceptionHandler): (JSC::createJITStubRoutine): * jit/GCAwareJITStubRoutine.h: (JSC::createJITStubRoutine): * jit/JIT.cpp: (JSC::ctiPatchCallByReturnAddress): (JSC::JIT::compileWithoutLinking): (JSC::JIT::link): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: (JSC::CallRecord::CallRecord): * jit/JITArithmetic.cpp: (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITCall.cpp: (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileOpCallSlowCase): * jit/JITCode.cpp: (JSC::JITCodeWithCodeRef::JITCodeWithCodeRef): (JSC::JITCodeWithCodeRef::executableAddressAtOffset): (JSC::DirectJITCode::DirectJITCode): (JSC::DirectJITCode::initializeCodeRef): (JSC::DirectJITCode::addressForCall): (JSC::NativeJITCode::NativeJITCode): (JSC::NativeJITCode::initializeCodeRef): (JSC::NativeJITCode::addressForCall): * jit/JITCode.h: * jit/JITCodeMap.h: (JSC::JITCodeMap::Entry::Entry): (JSC::JITCodeMap::Entry::codeLocation): (JSC::JITCodeMap::append): (JSC::JITCodeMap::find const): * jit/JITDisassembler.cpp: (JSC::JITDisassembler::dumpDisassembly): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITInlineCacheGenerator.cpp: (JSC::JITByIdGenerator::finalize): * jit/JITInlines.h: (JSC::JIT::emitNakedCall): (JSC::JIT::emitNakedTailCall): (JSC::JIT::appendCallWithExceptionCheck): (JSC::JIT::appendCallWithExceptionCheckAndSlowPathReturnType): (JSC::JIT::appendCallWithCallFrameRollbackOnException): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResult): (JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile): * jit/JITMathIC.h: (JSC::isProfileEmpty): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::privateCompileHasIndexedProperty): (JSC::JIT::emitSlow_op_has_indexed_property): * jit/JITOpcodes32_64.cpp: (JSC::JIT::privateCompileHasIndexedProperty): * jit/JITOperations.cpp: (JSC::getByVal): * jit/JITPropertyAccess.cpp: (JSC::JIT::stringGetByValStubGenerator): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::privateCompileGetByVal): (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByVal): (JSC::JIT::privateCompilePutByValWithCachedId): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::stringGetByValStubGenerator): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitSlow_op_put_by_val): * jit/JITStubRoutine.h: (JSC::JITStubRoutine::JITStubRoutine): (JSC::JITStubRoutine::createSelfManagedRoutine): (JSC::JITStubRoutine::code const): (JSC::JITStubRoutine::asCodePtr): * jit/JITThunks.cpp: (JSC::JITThunks::ctiNativeCall): (JSC::JITThunks::ctiNativeConstruct): (JSC::JITThunks::ctiNativeTailCall): (JSC::JITThunks::ctiNativeTailCallWithoutSavedTags): (JSC::JITThunks::ctiInternalFunctionCall): (JSC::JITThunks::ctiInternalFunctionConstruct): (JSC::JITThunks::ctiStub): (JSC::JITThunks::existingCTIStub): (JSC::JITThunks::hostFunctionStub): * jit/JITThunks.h: * jit/PCToCodeOriginMap.cpp: (JSC::PCToCodeOriginMap::PCToCodeOriginMap): * jit/PCToCodeOriginMap.h: * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::readPutICCallTarget): (JSC::ftlThunkAwareRepatchCall): (JSC::appropriateOptimizingGetByIdFunction): (JSC::appropriateGetByIdFunction): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheIn): (JSC::repatchIn): (JSC::linkSlowFor): (JSC::linkFor): (JSC::linkDirectFor): (JSC::revertCall): (JSC::unlinkFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): (JSC::resetGetByID): (JSC::resetPutByID): * jit/Repatch.h: * jit/SlowPathCall.h: (JSC::JITSlowPathCall::call): * jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::finalize): (JSC::SpecializedThunkJIT::callDoubleToDouble): (JSC::SpecializedThunkJIT::callDoubleToDoublePreservingReturn): * jit/ThunkGenerator.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::linkCallThunkGenerator): (JSC::linkPolymorphicCallThunkGenerator): (JSC::virtualThunkFor): (JSC::nativeForGenerator): (JSC::nativeCallGenerator): (JSC::nativeTailCallGenerator): (JSC::nativeTailCallWithoutSavedTagsGenerator): (JSC::nativeConstructGenerator): (JSC::internalFunctionCallGenerator): (JSC::internalFunctionConstructGenerator): (JSC::arityFixupGenerator): (JSC::unreachableGenerator): (JSC::charCodeAtThunkGenerator): (JSC::charAtThunkGenerator): (JSC::fromCharCodeThunkGenerator): (JSC::clz32ThunkGenerator): (JSC::sqrtThunkGenerator): (JSC::floorThunkGenerator): (JSC::ceilThunkGenerator): (JSC::truncThunkGenerator): (JSC::roundThunkGenerator): (JSC::expThunkGenerator): (JSC::logThunkGenerator): (JSC::absThunkGenerator): (JSC::imulThunkGenerator): (JSC::randomThunkGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * llint/LLIntData.cpp: (JSC::LLInt::initialize): * llint/LLIntData.h: (JSC::LLInt::getExecutableAddress): (JSC::LLInt::getCodePtr): (JSC::LLInt::getCodeRef): (JSC::LLInt::getCodeFunctionPtr): * llint/LLIntEntrypoint.cpp: (JSC::LLInt::setFunctionEntrypoint): (JSC::LLInt::setEvalEntrypoint): (JSC::LLInt::setProgramEntrypoint): (JSC::LLInt::setModuleProgramEntrypoint): * llint/LLIntExceptions.cpp: (JSC::LLInt::callToThrow): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::setUpCall): * llint/LLIntThunks.cpp: (JSC::vmEntryToWasm): (JSC::LLInt::generateThunkWithJumpTo): (JSC::LLInt::functionForCallEntryThunkGenerator): (JSC::LLInt::functionForConstructEntryThunkGenerator): (JSC::LLInt::functionForCallArityCheckThunkGenerator): (JSC::LLInt::functionForConstructArityCheckThunkGenerator): (JSC::LLInt::evalEntryThunkGenerator): (JSC::LLInt::programEntryThunkGenerator): (JSC::LLInt::moduleProgramEntryThunkGenerator): * llint/LLIntThunks.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::addOSRExitSite): * profiler/ProfilerCompilation.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: (JSC::Profiler::OSRExitSite::OSRExitSite): (JSC::Profiler::OSRExitSite::codeAddress const): (JSC::Profiler::OSRExitSite:: const): Deleted. * runtime/ExecutableBase.cpp: (JSC::ExecutableBase::clearCode): * runtime/ExecutableBase.h: (JSC::ExecutableBase::entrypointFor): * runtime/NativeExecutable.cpp: (JSC::NativeExecutable::finishCreation): * runtime/NativeFunction.h: (JSC::TaggedNativeFunction::TaggedNativeFunction): (JSC::TaggedNativeFunction::operator NativeFunction): * runtime/PtrTag.h: (JSC::tagCodePtr): (JSC::untagCodePtr): (JSC::retagCodePtr): (JSC::tagCFunctionPtr): (JSC::untagCFunctionPtr): (JSC::nextPtrTagID): Deleted. * runtime/PutPropertySlot.h: (JSC::PutPropertySlot::PutPropertySlot): (JSC::PutPropertySlot::setCustomValue): (JSC::PutPropertySlot::setCustomAccessor): (JSC::PutPropertySlot::customSetter const): * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::installCode): * runtime/VM.cpp: (JSC::VM::getHostFunction): (JSC::VM::getCTIInternalFunctionTrampolineFor): * runtime/VM.h: (JSC::VM::getCTIStub): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::B3IRGenerator::B3IRGenerator): (JSC::Wasm::B3IRGenerator::emitExceptionCheck): (JSC::Wasm::B3IRGenerator::emitTierUpCheck): (JSC::Wasm::B3IRGenerator::addCall): (JSC::Wasm::B3IRGenerator::addCallIndirect): * wasm/WasmBBQPlan.cpp: (JSC::Wasm::BBQPlan::prepare): (JSC::Wasm::BBQPlan::complete): * wasm/WasmBBQPlan.h: * wasm/WasmBinding.cpp: (JSC::Wasm::wasmToWasm): * wasm/WasmBinding.h: * wasm/WasmCallee.h: (JSC::Wasm::Callee::entrypoint const): * wasm/WasmCallingConvention.h: (JSC::Wasm::CallingConvention::setupFrameInPrologue const): * wasm/WasmCodeBlock.h: (JSC::Wasm::CodeBlock::entrypointLoadLocationFromFunctionIndexSpace): * wasm/WasmFaultSignalHandler.cpp: (JSC::Wasm::trapHandler): * wasm/WasmFormat.h: * wasm/WasmInstance.h: * wasm/WasmOMGPlan.cpp: (JSC::Wasm::OMGPlan::work): * wasm/WasmThunks.cpp: (JSC::Wasm::throwExceptionFromWasmThunkGenerator): (JSC::Wasm::throwStackOverflowFromWasmThunkGenerator): (JSC::Wasm::triggerOMGTierUpThunkGenerator): (JSC::Wasm::Thunks::stub): (JSC::Wasm::Thunks::existingStub): * wasm/WasmThunks.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/JSWebAssemblyCodeBlock.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyFunction.h: * yarr/YarrJIT.cpp: (JSC::Yarr::YarrGenerator::loadFromFrameAndJump): (JSC::Yarr::YarrGenerator::BacktrackingState::linkDataLabels): (JSC::Yarr::YarrGenerator::compile): * yarr/YarrJIT.h: (JSC::Yarr::YarrCodeBlock::set8BitCode): (JSC::Yarr::YarrCodeBlock::set16BitCode): (JSC::Yarr::YarrCodeBlock::set8BitCodeMatchOnly): (JSC::Yarr::YarrCodeBlock::set16BitCodeMatchOnly): (JSC::Yarr::YarrCodeBlock::execute): (JSC::Yarr::YarrCodeBlock::clear): Source/WebCore: No new tests. This is covered by existing tests. * WebCore.xcodeproj/project.pbxproj: * css/ElementRuleCollector.cpp: (WebCore::ElementRuleCollector::ruleMatches): * cssjit/CSSPtrTag.h: Added. * cssjit/CompiledSelector.h: * cssjit/FunctionCall.h: (WebCore::FunctionCall::FunctionCall): (WebCore::FunctionCall::setFunctionAddress): (WebCore::FunctionCall::prepareAndCall): * cssjit/SelectorCompiler.cpp: (WebCore::SelectorCompiler::compileSelector): (WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext): (WebCore::SelectorCompiler::addPseudoClassType): (WebCore::SelectorCompiler::SelectorCodeGenerator::compile): (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching): (WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementFunctionCallTest): (WebCore::SelectorCompiler::SelectorCodeGenerator::generateContextFunctionCallTest): * cssjit/SelectorCompiler.h: (WebCore::SelectorCompiler::ruleCollectorSimpleSelectorCheckerFunction): (WebCore::SelectorCompiler::querySelectorSimpleSelectorCheckerFunction): (WebCore::SelectorCompiler::ruleCollectorSelectorCheckerFunctionWithCheckingContext): (WebCore::SelectorCompiler::querySelectorSelectorCheckerFunctionWithCheckingContext): * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::executeCompiledSingleMultiSelectorData const): (WebCore::SelectorDataList::execute const): * dom/SelectorQuery.h: Canonical link: https://commits.webkit.org/200234@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230748 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-04-18 03:31:09 +00:00
return lazySlowPath.stub().code().executableAddress();
FTL should generate code to call slow paths lazily https://bugs.webkit.org/show_bug.cgi?id=149936 Reviewed by Saam Barati. Source/JavaScriptCore: We often have complex slow paths in FTL-generated code. Those slow paths may never run. Even if they do run, they don't need stellar performance. So, it doesn't make sense to have LLVM worry about compiling such slow path code. This patch enables us to use our own MacroAssembler for compiling the slow path inside FTL code. It does this by using a crazy lambda thingy (see FTLLowerDFGToLLVM.cpp's lazySlowPath() and its documentation). The result is quite natural to use. Even for straight slow path calls via something like vmCall(), the lazySlowPath offers the benefit that the call marshalling and the exception checking are not expressed using LLVM IR and do not require LLVM to think about it. It also has the benefit that we never generate the code if it never runs. That's great, since function calls usually involve ~10 instructions total (move arguments to argument registers, make the call, check exception, etc.). This patch adds the lazy slow path abstraction and uses it for some slow paths in the FTL. The code we generate with lazy slow paths is worse than the code that LLVM would have generated. Therefore, a lazy slow path only makes sense when we have strong evidence that the slow path will execute infrequently relative to the fast path. This completely precludes the use of lazy slow paths for out-of-line Nodes that unconditionally call a C++ function. It also precludes their use for the GetByVal out-of-bounds handler, since when we generate a GetByVal with an out-of-bounds handler it means that we only know that the out-of-bounds case executed at least once. So, for all we know, it may actually be the common case. So, this patch just deployed the lazy slow path for GC slow paths and masquerades-as-undefined slow paths. It makes sense for GC slow paths because those have a statistical guarantee of slow path frequency - probably bounded at less than 1/10. It makes sense for masquerades-as- undefined because we can say quite confidently that this is an uncommon scenario on the modern Web. Something that's always been challenging about abstractions involving the MacroAssembler is that linking is a separate phase, and there is no way for someone who is just given access to the MacroAssembler& to emit code that requires linking, since linking happens once we have emitted all code and we are creating the LinkBuffer. Moreover, the FTL requires that the final parts of linking happen on the main thread. This patch ran into this issue, and solved it comprehensively, by introducing MacroAssembler::addLinkTask(). This takes a lambda and runs it at the bitter end of linking - when performFinalization() is called. This ensure that the task added by addLinkTask() runs on the main thread. This patch doesn't replace all of the previously existing idioms for dealing with this issue; we can do that later. This shows small speed-ups on a bunch of things. No big win on any benchmark aggregate. But mainly this is done for https://bugs.webkit.org/show_bug.cgi?id=149852, where we found that outlining the slow path in this way was a significant speed boost. * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::replaceWithAddressComputation): (JSC::AbstractMacroAssembler::addLinkTask): (JSC::AbstractMacroAssembler::AbstractMacroAssembler): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::linkCode): (JSC::LinkBuffer::allocate): (JSC::LinkBuffer::performFinalization): * assembler/LinkBuffer.h: (JSC::LinkBuffer::wasAlreadyDisassembled): (JSC::LinkBuffer::didAlreadyDisassemble): (JSC::LinkBuffer::vm): (JSC::LinkBuffer::executableOffsetFor): * bytecode/CodeOrigin.h: (JSC::CodeOrigin::CodeOrigin): (JSC::CodeOrigin::isSet): (JSC::CodeOrigin::operator bool): (JSC::CodeOrigin::isHashTableDeletedValue): (JSC::CodeOrigin::operator!): Deleted. * ftl/FTLCompile.cpp: (JSC::FTL::mmAllocateDataSection): * ftl/FTLInlineCacheDescriptor.h: (JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor): (JSC::FTL::CheckInDescriptor::CheckInDescriptor): (JSC::FTL::LazySlowPathDescriptor::LazySlowPathDescriptor): * ftl/FTLJITCode.h: * ftl/FTLJITFinalizer.cpp: (JSC::FTL::JITFinalizer::finalizeFunction): * ftl/FTLJITFinalizer.h: * ftl/FTLLazySlowPath.cpp: Added. (JSC::FTL::LazySlowPath::LazySlowPath): (JSC::FTL::LazySlowPath::~LazySlowPath): (JSC::FTL::LazySlowPath::generate): * ftl/FTLLazySlowPath.h: Added. (JSC::FTL::LazySlowPath::createGenerator): (JSC::FTL::LazySlowPath::patchpoint): (JSC::FTL::LazySlowPath::usedRegisters): (JSC::FTL::LazySlowPath::callSiteIndex): (JSC::FTL::LazySlowPath::stub): * ftl/FTLLazySlowPathCall.h: Added. (JSC::FTL::createLazyCallGenerator): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToLLVM::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToLLVM::compileMakeRope): (JSC::FTL::DFG::LowerDFGToLLVM::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsObjectOrNull): (JSC::FTL::DFG::LowerDFGToLLVM::compileIsFunction): (JSC::FTL::DFG::LowerDFGToLLVM::compileIn): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToLLVM::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToLLVM::compileCheckWatchdogTimer): (JSC::FTL::DFG::LowerDFGToLLVM::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToLLVM::allocateObject): (JSC::FTL::DFG::LowerDFGToLLVM::allocateJSArray): (JSC::FTL::DFG::LowerDFGToLLVM::buildTypeOf): (JSC::FTL::DFG::LowerDFGToLLVM::sensibleDoubleToInt32): (JSC::FTL::DFG::LowerDFGToLLVM::lazySlowPath): (JSC::FTL::DFG::LowerDFGToLLVM::speculate): (JSC::FTL::DFG::LowerDFGToLLVM::emitStoreBarrier): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.cpp: (JSC::FTL::SlowPathCallContext::SlowPathCallContext): (JSC::FTL::SlowPathCallContext::~SlowPathCallContext): (JSC::FTL::SlowPathCallContext::keyWithTarget): (JSC::FTL::SlowPathCallContext::makeCall): (JSC::FTL::callSiteIndexForCodeOrigin): (JSC::FTL::storeCodeOrigin): Deleted. (JSC::FTL::callOperation): Deleted. * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * ftl/FTLState.h: * ftl/FTLThunks.cpp: (JSC::FTL::genericGenerationThunkGenerator): (JSC::FTL::osrExitGenerationThunkGenerator): (JSC::FTL::lazySlowPathGenerationThunkGenerator): (JSC::FTL::registerClobberCheck): * ftl/FTLThunks.h: * interpreter/CallFrame.h: (JSC::CallSiteIndex::CallSiteIndex): (JSC::CallSiteIndex::operator bool): (JSC::CallSiteIndex::bits): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupArgument): (JSC::CCallHelpers::setupArgumentsWithExecState): * jit/JITOperations.cpp: Source/WTF: Enables SharedTask to handle any function type, not just void(). It's probably better to use SharedTask instead of std::function in performance-sensitive code. std::function uses the system malloc and has copy semantics. SharedTask uses FastMalloc and has aliasing semantics. So, you can just trust that it will have sensible performance characteristics. * wtf/ParallelHelperPool.cpp: (WTF::ParallelHelperClient::~ParallelHelperClient): (WTF::ParallelHelperClient::setTask): (WTF::ParallelHelperClient::doSomeHelping): (WTF::ParallelHelperClient::runTaskInParallel): (WTF::ParallelHelperClient::finish): (WTF::ParallelHelperClient::claimTask): (WTF::ParallelHelperClient::runTask): (WTF::ParallelHelperPool::doSomeHelping): (WTF::ParallelHelperPool::helperThreadBody): * wtf/ParallelHelperPool.h: (WTF::ParallelHelperClient::setFunction): (WTF::ParallelHelperClient::runFunctionInParallel): (WTF::ParallelHelperClient::pool): * wtf/SharedTask.h: (WTF::createSharedTask): (WTF::SharedTask::SharedTask): Deleted. (WTF::SharedTask::~SharedTask): Deleted. (WTF::SharedTaskFunctor::SharedTaskFunctor): Deleted. Canonical link: https://commits.webkit.org/168154@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190860 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-10-12 17:56:26 +00:00
}
JSC_DEFINE_JIT_OPERATION_WITH_ATTRIBUTES(operationReportBoundsCheckEliminationErrorAndCrash, NO_RETURN_DUE_TO_CRASH, void, (intptr_t codeBlockAsIntPtr, int32_t nodeIndex, int32_t child1Index, int32_t child2Index, int32_t checkedIndex, int32_t bounds))
Add Bounds Check Elimination validation for debugging. https://bugs.webkit.org/show_bug.cgi?id=217055 rdar://69122891 Reviewed by Keith Miller. Source/JavaScriptCore: Added a JSC_validateBoundsCheckElimination option (with alias JSC_validateBCE) that adds an AssertInBounds whenever a CheckInBounds node is elided. * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGIntegerCheckCombiningPhase.cpp: (JSC::DFG::IntegerCheckCombiningPhase::handleBlock): * dfg/DFGIntegerRangeOptimizationPhase.cpp: * dfg/DFGNodeType.h: * dfg/DFGOperations.h: * dfg/DFGPredictionPropagationPhase.cpp: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGValidate.cpp: * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::validateAIState): (JSC::FTL::DFG::LowerDFGToB3::compileNode): (JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty): (JSC::FTL::DFG::LowerDFGToB3::compileAssertInBounds): * ftl/FTLOperations.cpp: (JSC::FTL::operationReportBoundsCheckEliminationErrorAndCrash): * ftl/FTLOperations.h: * runtime/OptionsList.h: Tools: Added --validateBCE=true to ftl-no-cjit-validate-sampling-profiler and ftl-eager-no-cjit. * Scripts/run-jsc-stress-tests: Canonical link: https://commits.webkit.org/229855@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-09-29 04:54:36 +00:00
{
CodeBlock* codeBlock = bitwise_cast<CodeBlock*>(codeBlockAsIntPtr);
dataLogLn("Bounds Check Eimination error found @ D@", nodeIndex, ": AssertInBounds(index D@", child1Index, ": ", checkedIndex, ", bounds D@", child2Index, " ", bounds, ") in ", codeBlock);
CRASH();
}
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
} } // namespace JSC::FTL
[JSC] Thread JSGlobalObject* instead of ExecState* https://bugs.webkit.org/show_bug.cgi?id=202392 Reviewed by Geoffrey Garen. LayoutTests/imported/w3c: * web-platform-tests/html/semantics/scripting-1/the-script-element/module/dynamic-import/string-compilation-other-document-expected.txt: Source/JavaScriptCore: This patch replaces JSC's convention entirely: instead of passing ExecState*, we pass lexical JSGlobalObject*. We have many issues historically. 1. We have a hack like global-exec, since many runtime functions take ExecState* while valid ExecState* is populated only after executing some JS function. 2. We pass ExecState* without considering whether this is correct one when inlining a function. If inlined function has different realm, `exec->lexicalGlobalObject()` just returns wrong JSGlobalObject*. This patch attempts to remove these issues entirely by passing JSGlobalObject* instead of ExecState*. 1. We change ExecState* to JSGlobalObject*. 2. JIT operations should take JSGlobalObject* instead of ExecState* to reflect the inlinee's JSGlobalObject* correctly. 3. We get CallFrame* by using `__builtin_frame_address(1)` in JIT operations. When it is not available, we put CallFrame* to `vm.topCallFrame` in the caller side and load it from VM. 4. We remove ExecState*. All the actual call-frame is called `CallFrame*`. CallFrame* is passed only when CallFrame* is actually needed: accessing arguments, OSR etc. 5. LLInt and Baseline slow paths are just getting CallFrame*. It gets CodeBlock from CallFrame* and getting VM& and JSGlobalObject* from it since they do not have inlining. 6. We basically removed `VM::vmEntryGlobalObject`. It returns JSGlobalObject* from VMEntryScope. APIs and Completion.cpp use this but they are wrong. And by using lexical JSGlobalObject*, we fixed WPT issues. 7. This patch does not fix complicated JSGlobalObject* issues. But we put FIXME if it seems wrong and it needs to be revisited. 8. FunctionConstructor, ArrayConstructor etc. are exposed from JSGlobalObject to use it for InternalFunction::createStructure() without using `CallFrame*`. * API/APICallbackFunction.h: (JSC::APICallbackFunction::call): (JSC::APICallbackFunction::construct): * API/APICast.h: (toJS): (toJSGlobalObject): (toJSForGC): (toRef): (toGlobalRef): * API/APIUtils.h: (handleExceptionIfNeeded): (setException): * API/JSAPIGlobalObject.h: * API/JSAPIGlobalObject.mm: (JSC::JSAPIGlobalObject::moduleLoaderResolve): (JSC::JSAPIGlobalObject::moduleLoaderImportModule): (JSC::JSAPIGlobalObject::moduleLoaderFetch): (JSC::JSAPIGlobalObject::moduleLoaderCreateImportMetaProperties): (JSC::JSAPIGlobalObject::moduleLoaderEvaluate): (JSC::JSAPIGlobalObject::loadAndEvaluateJSScriptModule): * API/JSAPIValueWrapper.h: * API/JSBase.cpp: (JSEvaluateScriptInternal): (JSEvaluateScript): (JSCheckScriptSyntax): (JSGarbageCollect): (JSReportExtraMemoryCost): (JSSynchronousGarbageCollectForDebugging): (JSSynchronousEdenCollectForDebugging): * API/JSBaseInternal.h: * API/JSCTestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): * API/JSCallbackConstructor.h: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: (JSC::JSCallbackObject<Parent>::JSCallbackObject): (JSC::JSCallbackObject<Parent>::finishCreation): (JSC::JSCallbackObject<Parent>::init): (JSC::JSCallbackObject<Parent>::toStringName): (JSC::JSCallbackObject<Parent>::getOwnPropertySlot): (JSC::JSCallbackObject<Parent>::getOwnPropertySlotByIndex): (JSC::JSCallbackObject<Parent>::defaultValue): (JSC::JSCallbackObject<Parent>::put): (JSC::JSCallbackObject<Parent>::putByIndex): (JSC::JSCallbackObject<Parent>::deleteProperty): (JSC::JSCallbackObject<Parent>::deletePropertyByIndex): (JSC::JSCallbackObject<Parent>::construct): (JSC::JSCallbackObject<Parent>::customHasInstance): (JSC::JSCallbackObject<Parent>::call): (JSC::JSCallbackObject<Parent>::getOwnNonIndexPropertyNames): (JSC::JSCallbackObject<Parent>::getStaticValue): (JSC::JSCallbackObject<Parent>::staticFunctionGetter): (JSC::JSCallbackObject<Parent>::callbackGetter): * API/JSClassRef.cpp: (OpaqueJSClass::contextData): (OpaqueJSClass::staticValues): (OpaqueJSClass::staticFunctions): (OpaqueJSClass::prototype): * API/JSClassRef.h: * API/JSContext.mm: (-[JSContext ensureWrapperMap]): (-[JSContext evaluateJSScript:]): (-[JSContext dependencyIdentifiersForModuleJSScript:]): (-[JSContext setException:]): (-[JSContext initWithGlobalContextRef:]): (-[JSContext wrapperMap]): * API/JSContextRef.cpp: (internalScriptTimeoutCallback): (JSGlobalContextCreateInGroup): (JSGlobalContextRetain): (JSGlobalContextRelease): (JSContextGetGlobalObject): (JSContextGetGroup): (JSContextGetGlobalContext): (JSGlobalContextCopyName): (JSGlobalContextSetName): (JSGlobalContextSetUnhandledRejectionCallback): (JSContextCreateBacktrace): (JSGlobalContextGetRemoteInspectionEnabled): (JSGlobalContextSetRemoteInspectionEnabled): (JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions): (JSGlobalContextGetDebuggerRunLoop): (JSGlobalContextSetDebuggerRunLoop): (JSGlobalContextGetAugmentableInspectorController): * API/JSManagedValue.mm: (-[JSManagedValue initWithValue:]): (-[JSManagedValue value]): * API/JSObjectRef.cpp: (JSObjectMake): (JSObjectMakeFunctionWithCallback): (JSObjectMakeConstructor): (JSObjectMakeFunction): (JSObjectMakeArray): (JSObjectMakeDate): (JSObjectMakeError): (JSObjectMakeRegExp): (JSObjectMakeDeferredPromise): (JSObjectGetPrototype): (JSObjectSetPrototype): (JSObjectHasProperty): (JSObjectGetProperty): (JSObjectSetProperty): (JSObjectHasPropertyForKey): (JSObjectGetPropertyForKey): (JSObjectSetPropertyForKey): (JSObjectDeletePropertyForKey): (JSObjectGetPropertyAtIndex): (JSObjectSetPropertyAtIndex): (JSObjectDeleteProperty): (JSObjectGetPrivateProperty): (JSObjectSetPrivateProperty): (JSObjectDeletePrivateProperty): (JSObjectIsFunction): (JSObjectCallAsFunction): (JSObjectIsConstructor): (JSObjectCallAsConstructor): (JSObjectCopyPropertyNames): (JSObjectGetGlobalContext): * API/JSScriptRef.cpp: * API/JSTypedArray.cpp: (createTypedArray): (JSValueGetTypedArrayType): (JSObjectMakeTypedArray): (JSObjectMakeTypedArrayWithBytesNoCopy): (JSObjectMakeTypedArrayWithArrayBuffer): (JSObjectMakeTypedArrayWithArrayBufferAndOffset): (JSObjectGetTypedArrayBytesPtr): (JSObjectGetTypedArrayLength): (JSObjectGetTypedArrayByteLength): (JSObjectGetTypedArrayByteOffset): (JSObjectGetTypedArrayBuffer): (JSObjectMakeArrayBufferWithBytesNoCopy): (JSObjectGetArrayBufferBytesPtr): (JSObjectGetArrayBufferByteLength): * API/JSValue.mm: (JSContainerConvertor::add): (reportExceptionToInspector): (valueToObjectWithoutCopy): (ObjcContainerConvertor::add): * API/JSValueRef.cpp: (JSValueGetType): (JSValueIsUndefined): (JSValueIsNull): (JSValueIsBoolean): (JSValueIsNumber): (JSValueIsString): (JSValueIsObject): (JSValueIsSymbol): (JSValueIsArray): (JSValueIsDate): (JSValueIsObjectOfClass): (JSValueIsEqual): (JSValueIsStrictEqual): (JSValueIsInstanceOfConstructor): (JSValueMakeUndefined): (JSValueMakeNull): (JSValueMakeBoolean): (JSValueMakeNumber): (JSValueMakeSymbol): (JSValueMakeString): (JSValueMakeFromJSONString): (JSValueCreateJSONString): (JSValueToBoolean): (JSValueToNumber): (JSValueToStringCopy): (JSValueToObject): (JSValueProtect): (JSValueUnprotect): * API/JSWeakObjectMapRefPrivate.cpp: * API/JSWrapperMap.mm: (constructorHasInstance): (makeWrapper): (putNonEnumerable): (copyMethodsToObject): (-[JSObjCClassInfo wrapperForObject:inContext:]): (-[JSObjCClassInfo structureInContext:]): * API/ObjCCallbackFunction.mm: (JSC::objCCallbackFunctionCallAsFunction): (JSC::objCCallbackFunctionCallAsConstructor): (objCCallbackFunctionForInvocation): * API/glib/JSCCallbackFunction.cpp: (JSC::JSCCallbackFunction::call): (JSC::JSCCallbackFunction::construct): * API/glib/JSCClass.cpp: (isWrappedObject): (jscContextForObject): (jscClassCreateConstructor): (jscClassAddMethod): * API/glib/JSCContext.cpp: (jsc_context_evaluate_in_object): (jsc_context_check_syntax): * API/glib/JSCException.cpp: (jscExceptionCreate): * API/glib/JSCValue.cpp: (jsc_value_object_define_property_data): (jsc_value_object_define_property_accessor): (jscValueFunctionCreate): * API/glib/JSCWeakValue.cpp: (jscWeakValueInitialize): (jsc_weak_value_get_value): * API/glib/JSCWrapperMap.cpp: (JSC::WrapperMap::createJSWrappper): (JSC::WrapperMap::createContextWithJSWrappper): * API/tests/JSONParseTest.cpp: (testJSONParse): * API/tests/JSObjectGetProxyTargetTest.cpp: (testJSObjectGetProxyTarget): * API/tests/JSWrapperMapTests.mm: (+[JSWrapperMapTests testStructureIdentity]): * API/tests/testapi.cpp: (APIContext::APIContext): (APIContext::operator JSC::JSGlobalObject*): (APIContext::operator JSC::ExecState*): Deleted. * CMakeLists.txt: * JavaScriptCore.xcodeproj/project.pbxproj: * bindings/ScriptFunctionCall.cpp: (Deprecated::ScriptCallArgumentHandler::appendArgument): (Deprecated::ScriptFunctionCall::ScriptFunctionCall): (Deprecated::ScriptFunctionCall::call): * bindings/ScriptFunctionCall.h: * bindings/ScriptObject.cpp: (Deprecated::ScriptObject::ScriptObject): * bindings/ScriptObject.h: (Deprecated::ScriptObject::globalObject const): (Deprecated::ScriptObject::scriptState const): Deleted. * bindings/ScriptValue.cpp: (Inspector::jsToInspectorValue): (Inspector::toInspectorValue): * bindings/ScriptValue.h: * bytecode/AccessCase.cpp: (JSC::AccessCase::generateImpl): * bytecode/AccessCaseSnippetParams.cpp: (JSC::SlowPathCallGeneratorWithArguments::generateImpl): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::finishCreation): (JSC::CodeBlock::setConstantIdentifierSetRegisters): (JSC::CodeBlock::setConstantRegisters): (JSC::CodeBlock::linkIncomingCall): (JSC::CodeBlock::linkIncomingPolymorphicCall): (JSC::CodeBlock::noticeIncomingCall): * bytecode/CodeBlock.h: (JSC::CallFrame::r): (JSC::CallFrame::uncheckedR): (JSC::ExecState::r): Deleted. (JSC::ExecState::uncheckedR): Deleted. * bytecode/DirectEvalCodeCache.cpp: (JSC::DirectEvalCodeCache::setSlow): * bytecode/DirectEvalCodeCache.h: (JSC::DirectEvalCodeCache::set): * bytecode/InlineCallFrame.cpp: (JSC::InlineCallFrame::calleeForCallFrame const): * bytecode/InlineCallFrame.h: * bytecode/InternalFunctionAllocationProfile.h: (JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase): * bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForPropertyMiss): (JSC::generateConditionsForPropertySetterMiss): (JSC::generateConditionsForPrototypePropertyHit): (JSC::generateConditionsForPrototypePropertyHitCustom): (JSC::generateConditionsForInstanceOf): * bytecode/ObjectPropertyConditionSet.h: * bytecode/PolymorphicAccess.cpp: (JSC::AccessGenerationState::emitExplicitExceptionHandler): * bytecode/StructureStubInfo.h: (JSC::appropriateGenericGetByIdFunction): * bytecode/UnlinkedFunctionExecutable.cpp: (JSC::UnlinkedFunctionExecutable::fromGlobalCode): * bytecode/UnlinkedFunctionExecutable.h: * bytecode/ValueRecovery.cpp: (JSC::ValueRecovery::recover const): * bytecode/ValueRecovery.h: * debugger/Debugger.cpp: (JSC::Debugger::attach): (JSC::Debugger::hasBreakpoint): (JSC::Debugger::breakProgram): (JSC::lexicalGlobalObjectForCallFrame): (JSC::Debugger::updateCallFrame): (JSC::Debugger::pauseIfNeeded): (JSC::Debugger::exception): (JSC::Debugger::atStatement): (JSC::Debugger::atExpression): (JSC::Debugger::callEvent): (JSC::Debugger::returnEvent): (JSC::Debugger::unwindEvent): (JSC::Debugger::willExecuteProgram): (JSC::Debugger::didExecuteProgram): (JSC::Debugger::didReachBreakpoint): * debugger/Debugger.h: * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::create): (JSC::DebuggerCallFrame::globalObject): (JSC::DebuggerCallFrame::deprecatedVMEntryGlobalObject const): (JSC::DebuggerCallFrame::thisValue const): (JSC::DebuggerCallFrame::evaluateWithScopeExtension): (JSC::DebuggerCallFrame::sourceIDForCallFrame): (JSC::DebuggerCallFrame::globalExec): Deleted. (JSC::DebuggerCallFrame::vmEntryGlobalObject const): Deleted. * debugger/DebuggerCallFrame.h: * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * debugger/DebuggerScope.cpp: (JSC::DebuggerScope::toStringName): (JSC::DebuggerScope::getOwnPropertySlot): (JSC::DebuggerScope::put): (JSC::DebuggerScope::deleteProperty): (JSC::DebuggerScope::getOwnPropertyNames): (JSC::DebuggerScope::defineOwnProperty): (JSC::DebuggerScope::caughtValue const): * debugger/DebuggerScope.h: * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): * dfg/DFGArithMode.h: * dfg/DFGArrayifySlowPathGenerator.h: * dfg/DFGCallArrayAllocatorSlowPathGenerator.h: (JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator): (JSC::DFG::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableStructureVariableSizeSlowPathGenerator): * dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h: * dfg/DFGGraph.h: (JSC::DFG::Graph::globalThisObjectFor): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::reconstruct): * dfg/DFGJITCode.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileExceptionHandlers): (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: (JSC::DFG::prepareOSREntry): (JSC::DFG::prepareCatchOSREntry): * dfg/DFGOSREntry.h: (JSC::DFG::prepareOSREntry): * dfg/DFGOSRExit.cpp: (JSC::DFG::createClonedArgumentsDuringExit): (JSC::DFG::OSRExit::executeOSRExit): (JSC::DFG::adjustAndJumpToTarget): (JSC::DFG::printOSRExit): (JSC::DFG::OSRExit::emitRestoreArguments): (JSC::DFG::OSRExit::compileOSRExit): (JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): * dfg/DFGOSRExit.h: * dfg/DFGOSRExitCompilerCommon.cpp: (JSC::DFG::osrWriteBarrier): (JSC::DFG::adjustAndJumpToTarget): * dfg/DFGOperations.cpp: (JSC::DFG::putByVal): (JSC::DFG::putByValInternal): (JSC::DFG::putByValCellInternal): (JSC::DFG::putByValCellStringInternal): (JSC::DFG::newTypedArrayWithSize): (JSC::DFG::putWithThis): (JSC::DFG::binaryOp): (JSC::DFG::bitwiseBinaryOp): (JSC::DFG::getByValObject): * dfg/DFGOperations.h: * dfg/DFGSaneStringGetByValSlowPathGenerator.h: (JSC::DFG::SaneStringGetByValSlowPathGenerator::SaneStringGetByValSlowPathGenerator): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileInById): (JSC::DFG::SpeculativeJIT::compileInByVal): (JSC::DFG::SpeculativeJIT::compileDeleteById): (JSC::DFG::SpeculativeJIT::compileDeleteByVal): (JSC::DFG::SpeculativeJIT::compilePushWithScope): (JSC::DFG::SpeculativeJIT::compileStringSlice): (JSC::DFG::SpeculativeJIT::compileToLowerCase): (JSC::DFG::SpeculativeJIT::compileCheckTraps): (JSC::DFG::SpeculativeJIT::compileDoublePutByVal): (JSC::DFG::SpeculativeJIT::compileGetByValOnString): (JSC::DFG::SpeculativeJIT::compileFromCharCode): (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString): (JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString): (JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol): (JSC::DFG::SpeculativeJIT::compileGetByValWithThis): (JSC::DFG::SpeculativeJIT::compileParseInt): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileValueBitNot): (JSC::DFG::SpeculativeJIT::emitUntypedBitOp): (JSC::DFG::SpeculativeJIT::compileValueBitwiseOp): (JSC::DFG::SpeculativeJIT::emitUntypedRightShiftBitOp): (JSC::DFG::SpeculativeJIT::compileValueLShiftOp): (JSC::DFG::SpeculativeJIT::compileValueBitRShift): (JSC::DFG::SpeculativeJIT::compileValueAdd): (JSC::DFG::SpeculativeJIT::compileValueSub): (JSC::DFG::SpeculativeJIT::compileMathIC): (JSC::DFG::SpeculativeJIT::compileInstanceOfCustom): (JSC::DFG::SpeculativeJIT::compileToObjectOrCallObjectConstructor): (JSC::DFG::SpeculativeJIT::compileArithAbs): (JSC::DFG::SpeculativeJIT::compileArithClz32): (JSC::DFG::SpeculativeJIT::compileArithDoubleUnaryOp): (JSC::DFG::SpeculativeJIT::compileValueMul): (JSC::DFG::SpeculativeJIT::compileValueDiv): (JSC::DFG::SpeculativeJIT::compileArithFRound): (JSC::DFG::SpeculativeJIT::compileValueMod): (JSC::DFG::SpeculativeJIT::compileArithRounding): (JSC::DFG::SpeculativeJIT::compileArithSqrt): (JSC::DFG::SpeculativeJIT::compileValuePow): (JSC::DFG::SpeculativeJIT::compileStringEquality): (JSC::DFG::SpeculativeJIT::compileStringCompare): (JSC::DFG::SpeculativeJIT::compileSameValue): (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage): (JSC::DFG::SpeculativeJIT::compileGetByValOnDirectArguments): (JSC::DFG::SpeculativeJIT::compileNewFunction): (JSC::DFG::SpeculativeJIT::compileSetFunctionName): (JSC::DFG::SpeculativeJIT::compileLoadVarargs): (JSC::DFG::SpeculativeJIT::compileCreateActivation): (JSC::DFG::SpeculativeJIT::compileCreateDirectArguments): (JSC::DFG::SpeculativeJIT::compileCreateScopedArguments): (JSC::DFG::SpeculativeJIT::compileCreateClonedArguments): (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::compileNewArray): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): (JSC::DFG::SpeculativeJIT::compileArraySlice): (JSC::DFG::SpeculativeJIT::compileArrayIndexOf): (JSC::DFG::SpeculativeJIT::compileArrayPush): (JSC::DFG::SpeculativeJIT::compileNotifyWrite): (JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage): (JSC::DFG::SpeculativeJIT::compileCallDOM): (JSC::DFG::SpeculativeJIT::compileCallDOMGetter): (JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithValidRadixConstant): (JSC::DFG::SpeculativeJIT::compileNumberToStringWithRadix): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::compileNewSymbol): (JSC::DFG::SpeculativeJIT::compileNewTypedArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewRegexp): (JSC::DFG::SpeculativeJIT::emitSwitchImm): (JSC::DFG::SpeculativeJIT::emitSwitchCharStringJump): (JSC::DFG::SpeculativeJIT::emitSwitchChar): (JSC::DFG::SpeculativeJIT::emitSwitchStringOnString): (JSC::DFG::SpeculativeJIT::emitSwitchString): (JSC::DFG::SpeculativeJIT::compileStoreBarrier): (JSC::DFG::SpeculativeJIT::compilePutAccessorById): (JSC::DFG::SpeculativeJIT::compilePutGetterSetterById): (JSC::DFG::SpeculativeJIT::compileResolveScope): (JSC::DFG::SpeculativeJIT::compileResolveScopeForHoistingFuncDeclInEval): (JSC::DFG::SpeculativeJIT::compileGetDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutDynamicVar): (JSC::DFG::SpeculativeJIT::compilePutAccessorByVal): (JSC::DFG::SpeculativeJIT::compileStringReplace): (JSC::DFG::SpeculativeJIT::compileDefineDataProperty): (JSC::DFG::SpeculativeJIT::compileDefineAccessorProperty): (JSC::DFG::SpeculativeJIT::compileThrow): (JSC::DFG::SpeculativeJIT::compileThrowStaticError): (JSC::DFG::SpeculativeJIT::compileHasGenericProperty): (JSC::DFG::SpeculativeJIT::compileToIndexString): (JSC::DFG::SpeculativeJIT::compilePutByIdWithThis): (JSC::DFG::SpeculativeJIT::compileHasStructureProperty): (JSC::DFG::SpeculativeJIT::compileGetPropertyEnumerator): (JSC::DFG::SpeculativeJIT::compileStrCat): (JSC::DFG::SpeculativeJIT::compileNewArrayBuffer): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileNewTypedArray): (JSC::DFG::SpeculativeJIT::compileToThis): (JSC::DFG::SpeculativeJIT::compileObjectKeys): (JSC::DFG::SpeculativeJIT::compileObjectCreate): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileCreatePromise): (JSC::DFG::SpeculativeJIT::compileCreateInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileNewObject): (JSC::DFG::SpeculativeJIT::compileNewPromise): (JSC::DFG::SpeculativeJIT::compileNewInternalFieldObject): (JSC::DFG::SpeculativeJIT::compileToPrimitive): (JSC::DFG::SpeculativeJIT::compileSetAdd): (JSC::DFG::SpeculativeJIT::compileMapSet): (JSC::DFG::SpeculativeJIT::compileWeakSetAdd): (JSC::DFG::SpeculativeJIT::compileWeakMapSet): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty): (JSC::DFG::SpeculativeJIT::compileGetDirectPname): (JSC::DFG::SpeculativeJIT::compileProfileType): (JSC::DFG::SpeculativeJIT::cachedPutById): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch): (JSC::DFG::SpeculativeJIT::compileBigIntEquality): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT.h: (JSC::DFG::SpeculativeJIT::callOperationWithCallFrameRollbackOnException): (JSC::DFG::SpeculativeJIT::prepareForExternalCall): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compileContiguousPutByVal): (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis): (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::compile): * dynbench.cpp: (main): * ftl/FTLCompile.cpp: (JSC::FTL::compile): * ftl/FTLGeneratedFunction.h: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::lower): (JSC::FTL::DFG::LowerDFGToB3::compileToObjectOrCallObjectConstructor): (JSC::FTL::DFG::LowerDFGToB3::compileToThis): (JSC::FTL::DFG::LowerDFGToB3::compileValueAdd): (JSC::FTL::DFG::LowerDFGToB3::compileValueSub): (JSC::FTL::DFG::LowerDFGToB3::compileValueMul): (JSC::FTL::DFG::LowerDFGToB3::compileUnaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileBinaryMathIC): (JSC::FTL::DFG::LowerDFGToB3::compileStrCat): (JSC::FTL::DFG::LowerDFGToB3::compileArithClz32): (JSC::FTL::DFG::LowerDFGToB3::compileValueDiv): (JSC::FTL::DFG::LowerDFGToB3::compileValueMod): (JSC::FTL::DFG::LowerDFGToB3::compileArithAbs): (JSC::FTL::DFG::LowerDFGToB3::compileArithUnary): (JSC::FTL::DFG::LowerDFGToB3::compileValuePow): (JSC::FTL::DFG::LowerDFGToB3::compileArithRound): (JSC::FTL::DFG::LowerDFGToB3::compileArithFloor): (JSC::FTL::DFG::LowerDFGToB3::compileArithCeil): (JSC::FTL::DFG::LowerDFGToB3::compileArithTrunc): (JSC::FTL::DFG::LowerDFGToB3::compileArithSqrt): (JSC::FTL::DFG::LowerDFGToB3::compileArithFRound): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitAnd): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitXor): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitRShift): (JSC::FTL::DFG::LowerDFGToB3::compileValueBitLShift): (JSC::FTL::DFG::LowerDFGToB3::compileArrayify): (JSC::FTL::DFG::LowerDFGToB3::compileGetById): (JSC::FTL::DFG::LowerDFGToB3::compileGetByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileGetByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compilePutByValWithThis): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsReadModifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileAtomicsIsLockFree): (JSC::FTL::DFG::LowerDFGToB3::compileDefineDataProperty): (JSC::FTL::DFG::LowerDFGToB3::compileDefineAccessorProperty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileGetIndexedPropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::compileGetPrototypeOf): (JSC::FTL::DFG::LowerDFGToB3::compileGetByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutByVal): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorById): (JSC::FTL::DFG::LowerDFGToB3::compilePutGetterSetterById): (JSC::FTL::DFG::LowerDFGToB3::compilePutAccessorByVal): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteById): (JSC::FTL::DFG::LowerDFGToB3::compileDeleteByVal): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPush): (JSC::FTL::DFG::LowerDFGToB3::compileArrayIndexOf): (JSC::FTL::DFG::LowerDFGToB3::compileArrayPop): (JSC::FTL::DFG::LowerDFGToB3::compilePushWithScope): (JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileNewFunction): (JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateScopedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateClonedArguments): (JSC::FTL::DFG::LowerDFGToB3::compileCreateRest): (JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): (JSC::FTL::DFG::LowerDFGToB3::compileObjectCreate): (JSC::FTL::DFG::LowerDFGToB3::compileNewPromise): (JSC::FTL::DFG::LowerDFGToB3::compileNewInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileNewSymbol): (JSC::FTL::DFG::LowerDFGToB3::compileNewArray): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCreateThis): (JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise): (JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject): (JSC::FTL::DFG::LowerDFGToB3::compileSpread): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer): (JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize): (JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray): (JSC::FTL::DFG::LowerDFGToB3::compileToNumber): (JSC::FTL::DFG::LowerDFGToB3::compileToStringOrCallStringConstructorOrStringValueOf): (JSC::FTL::DFG::LowerDFGToB3::compileToPrimitive): (JSC::FTL::DFG::LowerDFGToB3::compileMakeRope): (JSC::FTL::DFG::LowerDFGToB3::compileStringCharAt): (JSC::FTL::DFG::LowerDFGToB3::compileStringFromCharCode): (JSC::FTL::DFG::LowerDFGToB3::compileNotifyWrite): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::compileSameValue): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstruct): (JSC::FTL::DFG::LowerDFGToB3::compileTailCall): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargsSpread): (JSC::FTL::DFG::LowerDFGToB3::compileCallOrConstructVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileCallEval): (JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): (JSC::FTL::DFG::LowerDFGToB3::compileSwitch): (JSC::FTL::DFG::LowerDFGToB3::compileThrow): (JSC::FTL::DFG::LowerDFGToB3::compileThrowStaticError): (JSC::FTL::DFG::LowerDFGToB3::mapHashString): (JSC::FTL::DFG::LowerDFGToB3::compileMapHash): (JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket): (JSC::FTL::DFG::LowerDFGToB3::compileSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileWeakSetAdd): (JSC::FTL::DFG::LowerDFGToB3::compileWeakMapSet): (JSC::FTL::DFG::LowerDFGToB3::compileInByVal): (JSC::FTL::DFG::LowerDFGToB3::compileInById): (JSC::FTL::DFG::LowerDFGToB3::compileHasOwnProperty): (JSC::FTL::DFG::LowerDFGToB3::compileParseInt): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOfCustom): (JSC::FTL::DFG::LowerDFGToB3::compileHasIndexedProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasGenericProperty): (JSC::FTL::DFG::LowerDFGToB3::compileHasStructureProperty): (JSC::FTL::DFG::LowerDFGToB3::compileGetDirectPname): (JSC::FTL::DFG::LowerDFGToB3::compileGetPropertyEnumerator): (JSC::FTL::DFG::LowerDFGToB3::compileToIndexString): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject): (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation): (JSC::FTL::DFG::LowerDFGToB3::compileCheckTraps): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExec): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFastGlobal): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpTest): (JSC::FTL::DFG::LowerDFGToB3::compileRegExpMatchFast): (JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp): (JSC::FTL::DFG::LowerDFGToB3::compileSetFunctionName): (JSC::FTL::DFG::LowerDFGToB3::compileStringReplace): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::reallocatePropertyStorage): (JSC::FTL::DFG::LowerDFGToB3::allocatePropertyStorageWithSizeImpl): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis): (JSC::FTL::DFG::LowerDFGToB3::compare): (JSC::FTL::DFG::LowerDFGToB3::compileStringSlice): (JSC::FTL::DFG::LowerDFGToB3::compileToLowerCase): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithRadix): (JSC::FTL::DFG::LowerDFGToB3::compileNumberToStringWithValidRadixConstant): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScopeForHoistingFuncDeclInEval): (JSC::FTL::DFG::LowerDFGToB3::compileResolveScope): (JSC::FTL::DFG::LowerDFGToB3::compileGetDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compilePutDynamicVar): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOM): (JSC::FTL::DFG::LowerDFGToB3::compileCallDOMGetter): (JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare): (JSC::FTL::DFG::LowerDFGToB3::stringsEqual): (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): (JSC::FTL::DFG::LowerDFGToB3::allocateObject): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::ensureShadowChickenPacket): (JSC::FTL::DFG::LowerDFGToB3::contiguousPutByValOutOfBounds): (JSC::FTL::DFG::LowerDFGToB3::switchStringSlow): (JSC::FTL::DFG::LowerDFGToB3::emitStoreBarrier): (JSC::FTL::DFG::LowerDFGToB3::callCheck): * ftl/FTLOSREntry.cpp: (JSC::FTL::prepareOSREntry): * ftl/FTLOSREntry.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): (JSC::FTL::compileFTLOSRExit): * ftl/FTLOSRExitCompiler.h: * ftl/FTLOperations.cpp: (JSC::FTL::operationPopulateObjectInOSR): (JSC::FTL::operationMaterializeObjectInOSR): (JSC::FTL::compileFTLLazySlowPath): * ftl/FTLOperations.h: * ftl/FTLSlowPathCall.h: (JSC::FTL::callOperation): * generator/Metadata.rb: * heap/Handle.h: * heap/HeapCell.h: * heap/HeapSnapshotBuilder.cpp: (JSC::HeapSnapshotBuilder::json): * inspector/ConsoleMessage.cpp: (Inspector::ConsoleMessage::ConsoleMessage): (Inspector::ConsoleMessage::autogenerateMetadata): (Inspector::ConsoleMessage::addToFrontend): (Inspector::ConsoleMessage::globalObject const): (Inspector::ConsoleMessage::scriptState const): Deleted. * inspector/ConsoleMessage.h: * inspector/InjectedScript.cpp: (Inspector::InjectedScript::wrapCallFrames const): (Inspector::InjectedScript::wrapObject const): (Inspector::InjectedScript::wrapJSONString const): (Inspector::InjectedScript::wrapTable const): (Inspector::InjectedScript::previewValue const): (Inspector::InjectedScript::arrayFromVector): * inspector/InjectedScriptBase.cpp: (Inspector::InjectedScriptBase::hasAccessToInspectedScriptState const): (Inspector::InjectedScriptBase::callFunctionWithEvalEnabled const): (Inspector::InjectedScriptBase::makeCall): (Inspector::InjectedScriptBase::makeAsyncCall): * inspector/InjectedScriptBase.h: * inspector/InjectedScriptHost.cpp: (Inspector::InjectedScriptHost::wrapper): * inspector/InjectedScriptHost.h: * inspector/InjectedScriptManager.cpp: (Inspector::InjectedScriptManager::injectedScriptIdFor): (Inspector::InjectedScriptManager::createInjectedScript): (Inspector::InjectedScriptManager::injectedScriptFor): * inspector/InjectedScriptManager.h: * inspector/InjectedScriptModule.cpp: (Inspector::InjectedScriptModule::ensureInjected): * inspector/InjectedScriptModule.h: * inspector/InspectorEnvironment.h: * inspector/JSGlobalObjectConsoleClient.cpp: (Inspector::JSGlobalObjectConsoleClient::messageWithTypeAndLevel): (Inspector::JSGlobalObjectConsoleClient::count): (Inspector::JSGlobalObjectConsoleClient::countReset): (Inspector::JSGlobalObjectConsoleClient::profile): (Inspector::JSGlobalObjectConsoleClient::profileEnd): (Inspector::JSGlobalObjectConsoleClient::takeHeapSnapshot): (Inspector::JSGlobalObjectConsoleClient::time): (Inspector::JSGlobalObjectConsoleClient::timeLog): (Inspector::JSGlobalObjectConsoleClient::timeEnd): (Inspector::JSGlobalObjectConsoleClient::timeStamp): (Inspector::JSGlobalObjectConsoleClient::record): (Inspector::JSGlobalObjectConsoleClient::recordEnd): (Inspector::JSGlobalObjectConsoleClient::screenshot): * inspector/JSGlobalObjectConsoleClient.h: * inspector/JSGlobalObjectInspectorController.cpp: (Inspector::JSGlobalObjectInspectorController::reportAPIException): * inspector/JSGlobalObjectInspectorController.h: * inspector/JSGlobalObjectScriptDebugServer.h: * inspector/JSInjectedScriptHost.cpp: (Inspector::JSInjectedScriptHost::evaluate const): (Inspector::JSInjectedScriptHost::savedResultAlias const): (Inspector::JSInjectedScriptHost::evaluateWithScopeExtension): (Inspector::JSInjectedScriptHost::internalConstructorName): (Inspector::JSInjectedScriptHost::isHTMLAllCollection): (Inspector::JSInjectedScriptHost::isPromiseRejectedWithNativeGetterTypeError): (Inspector::JSInjectedScriptHost::subtype): (Inspector::JSInjectedScriptHost::functionDetails): (Inspector::constructInternalProperty): (Inspector::JSInjectedScriptHost::getInternalProperties): (Inspector::JSInjectedScriptHost::proxyTargetValue): (Inspector::JSInjectedScriptHost::weakMapSize): (Inspector::JSInjectedScriptHost::weakMapEntries): (Inspector::JSInjectedScriptHost::weakSetSize): (Inspector::JSInjectedScriptHost::weakSetEntries): (Inspector::cloneArrayIteratorObject): (Inspector::cloneMapIteratorObject): (Inspector::cloneSetIteratorObject): (Inspector::JSInjectedScriptHost::iteratorEntries): (Inspector::checkForbiddenPrototype): (Inspector::JSInjectedScriptHost::queryInstances): (Inspector::JSInjectedScriptHost::queryHolders): * inspector/JSInjectedScriptHost.h: * inspector/JSInjectedScriptHostPrototype.cpp: (Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate): (Inspector::jsInjectedScriptHostPrototypeAttributeSavedResultAlias): (Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName): (Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection): (Inspector::jsInjectedScriptHostPrototypeFunctionIsPromiseRejectedWithNativeGetterTypeError): (Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize): (Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryInstances): (Inspector::jsInjectedScriptHostPrototypeFunctionQueryHolders): (Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsInjectedScriptHostPrototypeFunctionSubtype): (Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails): (Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties): * inspector/JSJavaScriptCallFrame.cpp: (Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension): (Inspector::valueForScopeLocation): (Inspector::JSJavaScriptCallFrame::scopeDescriptions): (Inspector::JSJavaScriptCallFrame::caller const): (Inspector::JSJavaScriptCallFrame::sourceID const): (Inspector::JSJavaScriptCallFrame::line const): (Inspector::JSJavaScriptCallFrame::column const): (Inspector::JSJavaScriptCallFrame::functionName const): (Inspector::JSJavaScriptCallFrame::scopeChain const): (Inspector::JSJavaScriptCallFrame::thisObject const): (Inspector::JSJavaScriptCallFrame::isTailDeleted const): (Inspector::JSJavaScriptCallFrame::type const): (Inspector::toJS): * inspector/JSJavaScriptCallFrame.h: * inspector/JSJavaScriptCallFramePrototype.cpp: (Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension): (Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions): (Inspector::jsJavaScriptCallFrameAttributeCaller): (Inspector::jsJavaScriptCallFrameAttributeSourceID): (Inspector::jsJavaScriptCallFrameAttributeLine): (Inspector::jsJavaScriptCallFrameAttributeColumn): (Inspector::jsJavaScriptCallFrameAttributeFunctionName): (Inspector::jsJavaScriptCallFrameAttributeScopeChain): (Inspector::jsJavaScriptCallFrameAttributeThisObject): (Inspector::jsJavaScriptCallFrameAttributeType): (Inspector::jsJavaScriptCallFrameIsTailDeleted): * inspector/JavaScriptCallFrame.h: (Inspector::JavaScriptCallFrame::deprecatedVMEntryGlobalObject const): (Inspector::JavaScriptCallFrame::vmEntryGlobalObject const): Deleted. * inspector/ScriptArguments.cpp: (Inspector::ScriptArguments::create): (Inspector::ScriptArguments::ScriptArguments): (Inspector::ScriptArguments::globalObject const): (Inspector::ScriptArguments::getFirstArgumentAsString const): (Inspector::ScriptArguments::isEqual const): (Inspector::ScriptArguments::globalState const): Deleted. * inspector/ScriptArguments.h: * inspector/ScriptCallStackFactory.cpp: (Inspector::createScriptCallStack): (Inspector::createScriptCallStackForConsole): (Inspector::extractSourceInformationFromException): (Inspector::createScriptCallStackFromException): (Inspector::createScriptArguments): * inspector/ScriptCallStackFactory.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: (Inspector::ScriptDebugServer::evaluateBreakpointAction): (Inspector::ScriptDebugServer::sourceParsed): (Inspector::ScriptDebugServer::handleExceptionInBreakpointCondition const): (Inspector::ScriptDebugServer::handlePause): (Inspector::ScriptDebugServer::exceptionOrCaughtValue): * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAuditAgent.cpp: (Inspector::InspectorAuditAgent::setup): (Inspector::InspectorAuditAgent::populateAuditObject): * inspector/agents/InspectorAuditAgent.h: * inspector/agents/InspectorConsoleAgent.cpp: (Inspector::InspectorConsoleAgent::startTiming): (Inspector::InspectorConsoleAgent::logTiming): (Inspector::InspectorConsoleAgent::stopTiming): (Inspector::InspectorConsoleAgent::count): (Inspector::InspectorConsoleAgent::countReset): * inspector/agents/InspectorConsoleAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: (Inspector::InspectorDebuggerAgent::didScheduleAsyncCall): (Inspector::InspectorDebuggerAgent::resume): (Inspector::InspectorDebuggerAgent::didPause): (Inspector::InspectorDebuggerAgent::breakpointActionProbe): (Inspector::InspectorDebuggerAgent::didContinue): (Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState): (Inspector::InspectorDebuggerAgent::assertPaused): * inspector/agents/InspectorDebuggerAgent.h: * inspector/agents/InspectorHeapAgent.cpp: (Inspector::InspectorHeapAgent::snapshot): (Inspector::InspectorHeapAgent::getPreview): (Inspector::InspectorHeapAgent::getRemoteObject): * inspector/agents/JSGlobalObjectAuditAgent.cpp: (Inspector::JSGlobalObjectAuditAgent::injectedScriptForEval): * inspector/agents/JSGlobalObjectDebuggerAgent.cpp: (Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval): (Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog): * inspector/agents/JSGlobalObjectDebuggerAgent.h: * inspector/agents/JSGlobalObjectRuntimeAgent.cpp: (Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval): * interpreter/AbstractPC.cpp: (JSC::AbstractPC::AbstractPC): * interpreter/AbstractPC.h: * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::initDeprecatedCallFrameForDebugger): (JSC::CallFrame::wasmAwareLexicalGlobalObject): (JSC::CallFrame::convertToStackOverflowFrame): (JSC::ExecState::initGlobalExec): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::isDeprecatedCallFrameForDebugger const): (JSC::CallFrame::isGlobalExec const): Deleted. * interpreter/Interpreter.cpp: (JSC::eval): (JSC::sizeOfVarargs): (JSC::sizeFrameForForwardArguments): (JSC::sizeFrameForVarargs): (JSC::loadVarargs): (JSC::setupVarargsFrame): (JSC::setupVarargsFrameAndSetThis): (JSC::setupForwardArgumentsFrame): (JSC::setupForwardArgumentsFrameAndSetThis): (JSC::notifyDebuggerOfUnwinding): (JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown): (JSC::Interpreter::executeProgram): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::execute): (JSC::Interpreter::executeModuleProgram): (JSC::Interpreter::debug): * interpreter/Interpreter.h: * interpreter/InterpreterInlines.h: (JSC::Interpreter::execute): * interpreter/Register.h: * interpreter/ShadowChicken.cpp: (JSC::ShadowChicken::log): (JSC::ShadowChicken::update): (JSC::ShadowChicken::functionsOnStack): * interpreter/ShadowChicken.h: * interpreter/ShadowChickenInlines.h: (JSC::ShadowChicken::iterate): * interpreter/StackVisitor.cpp: (JSC::StackVisitor::Frame::createArguments): * interpreter/StackVisitor.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitDumbVirtualCall): * jit/AssemblyHelpers.h: * jit/CCallHelpers.cpp: (JSC::CCallHelpers::ensureShadowChickenPacket): * jit/CCallHelpers.h: (JSC::CCallHelpers::prepareCallOperation): (JSC::CCallHelpers::setupArguments): * jit/HostCallReturnValue.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/HostCallReturnValue.h: (JSC::initializeHostCallReturnValue): * jit/JIT.cpp: (JSC::JIT::emitEnterOptimizationCheck): (JSC::JIT::compileWithoutLinking): (JSC::JIT::privateCompileExceptionHandlers): * jit/JIT.h: * jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJumpSlow): (JSC::JIT::emitMathICFast): (JSC::JIT::emitMathICSlow): * jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJumpSlow): * jit/JITCall.cpp: (JSC::JIT::compileSetupFrame): (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileCallEvalSlowCase): (JSC::JIT::compileOpCallSlowCase): * jit/JITExceptions.cpp: (JSC::genericUnwind): * jit/JITExceptions.h: * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emitSlow_op_instanceof): (JSC::JIT::emit_op_set_function_name): (JSC::JIT::emit_op_throw): (JSC::JIT::emitSlow_op_jstricteq): (JSC::JIT::emitSlow_op_jnstricteq): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_switch_char): (JSC::JIT::emit_op_switch_string): (JSC::JIT::emit_op_debug): (JSC::JIT::emitSlow_op_eq): (JSC::JIT::emitSlow_op_neq): (JSC::JIT::emitSlow_op_jeq): (JSC::JIT::emitSlow_op_jneq): (JSC::JIT::emitSlow_op_instanceof_custom): (JSC::JIT::emitSlow_op_loop_hint): (JSC::JIT::emitSlow_op_check_traps): (JSC::JIT::emit_op_new_regexp): (JSC::JIT::emitNewFuncCommon): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_new_array): (JSC::JIT::emit_op_new_array_with_size): (JSC::JIT::emitSlow_op_has_indexed_property): (JSC::JIT::emit_op_profile_type): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emitSlow_op_new_object): (JSC::JIT::emit_op_catch): (JSC::JIT::emit_op_switch_imm): (JSC::JIT::emit_op_debug): (JSC::JIT::emit_op_profile_type): * jit/JITOperations.cpp: (JSC::newFunctionCommon): (JSC::getByVal): (JSC::tryGetByValOptimize): (JSC::operationNewFunctionCommon): Deleted. * jit/JITOperations.h: * jit/JITOperationsMSVC64.cpp: (JSC::getHostCallReturnValueWithExecState): * jit/JITPropertyAccess.cpp: (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitSlow_op_get_by_val): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emitSlow_op_put_by_val): (JSC::JIT::emit_op_put_getter_by_id): (JSC::JIT::emit_op_put_setter_by_id): (JSC::JIT::emit_op_put_getter_setter_by_id): (JSC::JIT::emit_op_put_getter_by_val): (JSC::JIT::emit_op_put_setter_by_val): (JSC::JIT::emit_op_del_by_id): (JSC::JIT::emit_op_del_by_val): (JSC::JIT::emitSlow_op_try_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_direct): (JSC::JIT::emitSlow_op_get_by_id): (JSC::JIT::emitSlow_op_get_by_id_with_this): (JSC::JIT::emitSlow_op_put_by_id): (JSC::JIT::emitSlow_op_in_by_id): (JSC::JIT::emitSlow_op_get_from_scope): (JSC::JIT::emitSlow_op_put_to_scope): (JSC::JIT::emitWriteBarrier): * jit/PolymorphicCallStubRoutine.cpp: (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): * jit/PolymorphicCallStubRoutine.h: * jit/Repatch.cpp: (JSC::forceICFailure): (JSC::tryCacheGetByID): (JSC::repatchGetByID): (JSC::tryCachePutByID): (JSC::repatchPutByID): (JSC::tryCacheInByID): (JSC::repatchInByID): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::linkFor): (JSC::linkDirectFor): (JSC::linkSlowFor): (JSC::linkVirtualFor): (JSC::linkPolymorphicCall): * jit/Repatch.h: * jit/SnippetSlowPathCalls.h: * jit/ThunkGenerators.cpp: (JSC::throwExceptionFromCallSlowPathGenerator): (JSC::slowPathFor): (JSC::nativeForGenerator): (JSC::boundThisNoArgsFunctionCallGenerator): * jit/ThunkGenerators.h: * jsc.cpp: (GlobalObject::finishCreation): (GlobalObject::moduleLoaderImportModule): (GlobalObject::moduleLoaderResolve): (GlobalObject::moduleLoaderFetch): (GlobalObject::moduleLoaderCreateImportMetaProperties): (cStringFromViewWithString): (printInternal): (functionPrintStdOut): (functionPrintStdErr): (functionDebug): (functionSleepSeconds): (functionRun): (functionRunString): (functionLoad): (functionLoadString): (functionReadFile): (functionCheckSyntax): (functionSetSamplingFlags): (functionClearSamplingFlags): (functionSetRandomSeed): (functionNeverInlineFunction): (functionNoDFG): (functionNoOSRExitFuzzing): (functionOptimizeNextInvocation): (functionNumberOfDFGCompiles): (functionCallerIsOMGCompiled): (functionDollarEvalScript): (functionDollarAgentStart): (functionDollarAgentReceiveBroadcast): (functionDollarAgentReport): (functionDollarAgentSleep): (functionDollarAgentBroadcast): (functionFlashHeapAccess): (functionJSCOptions): (functionTransferArrayBuffer): (functionCheckModuleSyntax): (functionGenerateHeapSnapshot): (functionSamplingProfilerStackTraces): (functionAsyncTestStart): (functionWebAssemblyMemoryMode): (functionSetUnhandledRejectionCallback): (dumpException): (checkUncaughtException): (checkException): (runWithOptions): (runInteractive): * llint/LLIntExceptions.cpp: (JSC::LLInt::returnToThrow): (JSC::LLInt::callToThrow): * llint/LLIntExceptions.h: * llint/LLIntSlowPaths.cpp: (JSC::LLInt::getNonConstantOperand): (JSC::LLInt::getOperand): (JSC::LLInt::llint_trace_operand): (JSC::LLInt::llint_trace_value): (JSC::LLInt::LLINT_SLOW_PATH_DECL): (JSC::LLInt::traceFunctionPrologue): (JSC::LLInt::jitCompileAndSetHeuristics): (JSC::LLInt::entryOSR): (JSC::LLInt::setupGetByIdPrototypeCache): (JSC::LLInt::getByVal): (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): (JSC::LLInt::genericCall): (JSC::LLInt::varargsSetup): (JSC::LLInt::commonCallEval): (JSC::LLInt::llint_throw_stack_overflow_error): (JSC::LLInt::llint_write_barrier_slow): * llint/LLIntSlowPaths.h: * llint/LowLevelInterpreter.asm: * llint/LowLevelInterpreter.cpp: (JSC::CLoopRegister::operator CallFrame*): (JSC::CLoopRegister::operator ExecState*): Deleted. * parser/ModuleAnalyzer.cpp: (JSC::ModuleAnalyzer::ModuleAnalyzer): * parser/ModuleAnalyzer.h: * parser/ParserError.h: (JSC::ParserError::toErrorObject): * profiler/ProfilerBytecode.cpp: (JSC::Profiler::Bytecode::toJS const): * profiler/ProfilerBytecode.h: * profiler/ProfilerBytecodeSequence.cpp: (JSC::Profiler::BytecodeSequence::addSequenceProperties const): * profiler/ProfilerBytecodeSequence.h: * profiler/ProfilerBytecodes.cpp: (JSC::Profiler::Bytecodes::toJS const): * profiler/ProfilerBytecodes.h: * profiler/ProfilerCompilation.cpp: (JSC::Profiler::Compilation::toJS const): * profiler/ProfilerCompilation.h: * profiler/ProfilerCompiledBytecode.cpp: (JSC::Profiler::CompiledBytecode::toJS const): * profiler/ProfilerCompiledBytecode.h: * profiler/ProfilerDatabase.cpp: (JSC::Profiler::Database::toJS const): (JSC::Profiler::Database::toJSON const): * profiler/ProfilerDatabase.h: * profiler/ProfilerEvent.cpp: (JSC::Profiler::Event::toJS const): * profiler/ProfilerEvent.h: * profiler/ProfilerOSRExit.cpp: (JSC::Profiler::OSRExit::toJS const): * profiler/ProfilerOSRExit.h: * profiler/ProfilerOSRExitSite.cpp: (JSC::Profiler::OSRExitSite::toJS const): * profiler/ProfilerOSRExitSite.h: * profiler/ProfilerOrigin.cpp: (JSC::Profiler::Origin::toJS const): * profiler/ProfilerOrigin.h: * profiler/ProfilerOriginStack.cpp: (JSC::Profiler::OriginStack::toJS const): * profiler/ProfilerOriginStack.h: * profiler/ProfilerProfiledBytecodes.cpp: (JSC::Profiler::ProfiledBytecodes::toJS const): * profiler/ProfilerProfiledBytecodes.h: * profiler/ProfilerUID.cpp: (JSC::Profiler::UID::toJS const): * profiler/ProfilerUID.h: * runtime/AbstractModuleRecord.cpp: (JSC::AbstractModuleRecord::finishCreation): (JSC::AbstractModuleRecord::hostResolveImportedModule): (JSC::AbstractModuleRecord::resolveImport): (JSC::AbstractModuleRecord::resolveExportImpl): (JSC::AbstractModuleRecord::resolveExport): (JSC::getExportedNames): (JSC::AbstractModuleRecord::getModuleNamespace): (JSC::AbstractModuleRecord::link): (JSC::AbstractModuleRecord::evaluate): * runtime/AbstractModuleRecord.h: * runtime/ArgList.h: (JSC::ArgList::ArgList): * runtime/ArrayBufferView.h: * runtime/ArrayConstructor.cpp: (JSC::constructArrayWithSizeQuirk): (JSC::constructWithArrayConstructor): (JSC::callArrayConstructor): (JSC::isArraySlowInline): (JSC::isArraySlow): (JSC::arrayConstructorPrivateFuncIsArraySlow): * runtime/ArrayConstructor.h: (JSC::isArray): * runtime/ArrayPrototype.cpp: (JSC::ArrayPrototype::finishCreation): (JSC::getProperty): (JSC::putLength): (JSC::setLength): (JSC::speciesWatchpointIsValid): (JSC::arrayProtoFuncSpeciesCreate): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::shift): (JSC::unshift): (JSC::fastJoin): (JSC::arrayProtoFuncToString): (JSC::arrayProtoFuncToLocaleString): (JSC::slowJoin): (JSC::arrayProtoFuncJoin): (JSC::arrayProtoFuncPop): (JSC::arrayProtoFuncPush): (JSC::arrayProtoFuncReverse): (JSC::arrayProtoFuncShift): (JSC::arrayProtoFuncSlice): (JSC::arrayProtoFuncSplice): (JSC::arrayProtoFuncUnShift): (JSC::fastIndexOf): (JSC::arrayProtoFuncIndexOf): (JSC::arrayProtoFuncLastIndexOf): (JSC::moveElements): (JSC::concatAppendOne): (JSC::arrayProtoPrivateFuncConcatMemcpy): (JSC::arrayProtoPrivateFuncAppendMemcpy): * runtime/AsyncFunctionConstructor.cpp: (JSC::callAsyncFunctionConstructor): (JSC::constructAsyncFunctionConstructor): * runtime/AsyncGeneratorFunctionConstructor.cpp: (JSC::callAsyncGeneratorFunctionConstructor): (JSC::constructAsyncGeneratorFunctionConstructor): * runtime/AtomicsObject.cpp: (JSC::atomicsFuncAdd): (JSC::atomicsFuncAnd): (JSC::atomicsFuncCompareExchange): (JSC::atomicsFuncExchange): (JSC::atomicsFuncIsLockFree): (JSC::atomicsFuncLoad): (JSC::atomicsFuncOr): (JSC::atomicsFuncStore): (JSC::atomicsFuncSub): (JSC::atomicsFuncWait): (JSC::atomicsFuncWake): (JSC::atomicsFuncXor): (JSC::operationAtomicsAdd): (JSC::operationAtomicsAnd): (JSC::operationAtomicsCompareExchange): (JSC::operationAtomicsExchange): (JSC::operationAtomicsIsLockFree): (JSC::operationAtomicsLoad): (JSC::operationAtomicsOr): (JSC::operationAtomicsStore): (JSC::operationAtomicsSub): (JSC::operationAtomicsXor): * runtime/AtomicsObject.h: * runtime/BigIntConstructor.cpp: (JSC::toBigInt): (JSC::callBigIntConstructor): * runtime/BigIntObject.cpp: (JSC::BigIntObject::toStringName): (JSC::BigIntObject::defaultValue): * runtime/BigIntObject.h: * runtime/BigIntPrototype.cpp: (JSC::bigIntProtoFuncToStringImpl): (JSC::bigIntProtoFuncValueOf): * runtime/BooleanConstructor.cpp: (JSC::callBooleanConstructor): (JSC::constructWithBooleanConstructor): (JSC::constructBooleanFromImmediateBoolean): * runtime/BooleanConstructor.h: * runtime/BooleanPrototype.cpp: (JSC::booleanProtoFuncToString): (JSC::booleanProtoFuncValueOf): * runtime/CallData.cpp: (JSC::call): (JSC::profiledCall): * runtime/CallData.h: * runtime/ClassInfo.h: * runtime/ClonedArguments.cpp: (JSC::ClonedArguments::createEmpty): (JSC::ClonedArguments::createWithInlineFrame): (JSC::ClonedArguments::createWithMachineFrame): (JSC::ClonedArguments::createByCopyingFrom): (JSC::ClonedArguments::getOwnPropertySlot): (JSC::ClonedArguments::getOwnPropertyNames): (JSC::ClonedArguments::put): (JSC::ClonedArguments::deleteProperty): (JSC::ClonedArguments::defineOwnProperty): (JSC::ClonedArguments::materializeSpecials): (JSC::ClonedArguments::materializeSpecialsIfNecessary): * runtime/ClonedArguments.h: * runtime/CommonSlowPaths.cpp: (JSC::throwArityCheckStackOverflowError): (JSC::SLOW_PATH_DECL): (JSC::createInternalFieldObject): (JSC::updateArithProfileForBinaryArithOp): * runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::codeBlockFromCallFrameCallee): (JSC::CommonSlowPaths::arityCheckFor): (JSC::CommonSlowPaths::opInByVal): (JSC::CommonSlowPaths::tryCachePutToScopeGlobal): (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal): (JSC::CommonSlowPaths::putDirectWithReify): (JSC::CommonSlowPaths::putDirectAccessorWithReify): * runtime/Completion.cpp: (JSC::checkSyntax): (JSC::checkModuleSyntax): (JSC::evaluate): (JSC::profiledEvaluate): (JSC::evaluateWithScopeExtension): (JSC::rejectPromise): (JSC::loadAndEvaluateModule): (JSC::loadModule): (JSC::linkAndEvaluateModule): (JSC::importModule): * runtime/Completion.h: (JSC::evaluate): (JSC::profiledEvaluate): * runtime/ConsoleClient.cpp: (JSC::ConsoleClient::printConsoleMessageWithArguments): (JSC::ConsoleClient::internalMessageWithTypeAndLevel): (JSC::ConsoleClient::logWithLevel): (JSC::ConsoleClient::clear): (JSC::ConsoleClient::dir): (JSC::ConsoleClient::dirXML): (JSC::ConsoleClient::table): (JSC::ConsoleClient::trace): (JSC::ConsoleClient::assertion): (JSC::ConsoleClient::group): (JSC::ConsoleClient::groupCollapsed): (JSC::ConsoleClient::groupEnd): * runtime/ConsoleClient.h: * runtime/ConsoleObject.cpp: (JSC::valueOrDefaultLabelString): (JSC::valueToStringWithUndefinedOrNullCheck): (JSC::consoleLogWithLevel): (JSC::consoleProtoFuncDebug): (JSC::consoleProtoFuncError): (JSC::consoleProtoFuncLog): (JSC::consoleProtoFuncInfo): (JSC::consoleProtoFuncWarn): (JSC::consoleProtoFuncClear): (JSC::consoleProtoFuncDir): (JSC::consoleProtoFuncDirXML): (JSC::consoleProtoFuncTable): (JSC::consoleProtoFuncTrace): (JSC::consoleProtoFuncAssert): (JSC::consoleProtoFuncCount): (JSC::consoleProtoFuncCountReset): (JSC::consoleProtoFuncProfile): (JSC::consoleProtoFuncProfileEnd): (JSC::consoleProtoFuncTakeHeapSnapshot): (JSC::consoleProtoFuncTime): (JSC::consoleProtoFuncTimeLog): (JSC::consoleProtoFuncTimeEnd): (JSC::consoleProtoFuncTimeStamp): (JSC::consoleProtoFuncGroup): (JSC::consoleProtoFuncGroupCollapsed): (JSC::consoleProtoFuncGroupEnd): (JSC::consoleProtoFuncRecord): (JSC::consoleProtoFuncRecordEnd): (JSC::consoleProtoFuncScreenshot): * runtime/ConstructData.cpp: (JSC::construct): (JSC::profiledConstruct): * runtime/ConstructData.h: (JSC::construct): (JSC::profiledConstruct): * runtime/CustomGetterSetter.cpp: (JSC::callCustomSetter): * runtime/CustomGetterSetter.h: * runtime/DataView.cpp: (JSC::DataView::wrap): * runtime/DataView.h: * runtime/DateConstructor.cpp: (JSC::millisecondsFromComponents): (JSC::constructDate): (JSC::constructWithDateConstructor): (JSC::dateParse): (JSC::dateUTC): * runtime/DateConstructor.h: * runtime/DateInstance.cpp: (JSC::DateInstance::calculateGregorianDateTime const): (JSC::DateInstance::calculateGregorianDateTimeUTC const): * runtime/DateInstance.h: * runtime/DatePrototype.cpp: (JSC::formatLocaleDate): (JSC::formateDateInstance): (JSC::fillStructuresUsingTimeArgs): (JSC::fillStructuresUsingDateArgs): (JSC::dateProtoFuncToString): (JSC::dateProtoFuncToUTCString): (JSC::dateProtoFuncToISOString): (JSC::dateProtoFuncToDateString): (JSC::dateProtoFuncToTimeString): (JSC::dateProtoFuncToLocaleString): (JSC::dateProtoFuncToLocaleDateString): (JSC::dateProtoFuncToLocaleTimeString): (JSC::dateProtoFuncToPrimitiveSymbol): (JSC::dateProtoFuncGetTime): (JSC::dateProtoFuncGetFullYear): (JSC::dateProtoFuncGetUTCFullYear): (JSC::dateProtoFuncGetMonth): (JSC::dateProtoFuncGetUTCMonth): (JSC::dateProtoFuncGetDate): (JSC::dateProtoFuncGetUTCDate): (JSC::dateProtoFuncGetDay): (JSC::dateProtoFuncGetUTCDay): (JSC::dateProtoFuncGetHours): (JSC::dateProtoFuncGetUTCHours): (JSC::dateProtoFuncGetMinutes): (JSC::dateProtoFuncGetUTCMinutes): (JSC::dateProtoFuncGetSeconds): (JSC::dateProtoFuncGetUTCSeconds): (JSC::dateProtoFuncGetMilliSeconds): (JSC::dateProtoFuncGetUTCMilliseconds): (JSC::dateProtoFuncGetTimezoneOffset): (JSC::dateProtoFuncSetTime): (JSC::setNewValueFromTimeArgs): (JSC::setNewValueFromDateArgs): (JSC::dateProtoFuncSetMilliSeconds): (JSC::dateProtoFuncSetUTCMilliseconds): (JSC::dateProtoFuncSetSeconds): (JSC::dateProtoFuncSetUTCSeconds): (JSC::dateProtoFuncSetMinutes): (JSC::dateProtoFuncSetUTCMinutes): (JSC::dateProtoFuncSetHours): (JSC::dateProtoFuncSetUTCHours): (JSC::dateProtoFuncSetDate): (JSC::dateProtoFuncSetUTCDate): (JSC::dateProtoFuncSetMonth): (JSC::dateProtoFuncSetUTCMonth): (JSC::dateProtoFuncSetFullYear): (JSC::dateProtoFuncSetUTCFullYear): (JSC::dateProtoFuncSetYear): (JSC::dateProtoFuncGetYear): (JSC::dateProtoFuncToJSON): * runtime/DirectArguments.cpp: (JSC::DirectArguments::createByCopying): (JSC::DirectArguments::copyToArguments): * runtime/DirectArguments.h: * runtime/DirectEvalExecutable.cpp: (JSC::DirectEvalExecutable::create): (JSC::DirectEvalExecutable::DirectEvalExecutable): * runtime/DirectEvalExecutable.h: * runtime/Error.cpp: (JSC::createError): (JSC::createEvalError): (JSC::createRangeError): (JSC::createReferenceError): (JSC::createSyntaxError): (JSC::createTypeError): (JSC::createNotEnoughArgumentsError): (JSC::createURIError): (JSC::createGetterTypeError): (JSC::getStackTrace): (JSC::getBytecodeOffset): (JSC::addErrorInfo): (JSC::throwConstructorCannotBeCalledAsFunctionTypeError): (JSC::throwTypeError): (JSC::throwSyntaxError): (JSC::throwGetterTypeError): (JSC::throwDOMAttributeGetterTypeError): (JSC::createOutOfMemoryError): * runtime/Error.h: (JSC::throwRangeError): (JSC::throwVMError): (JSC::throwVMTypeError): (JSC::throwVMRangeError): (JSC::throwVMGetterTypeError): (JSC::throwVMDOMAttributeGetterTypeError): * runtime/ErrorConstructor.cpp: (JSC::constructErrorConstructor): (JSC::callErrorConstructor): (JSC::ErrorConstructor::put): (JSC::ErrorConstructor::deleteProperty): * runtime/ErrorConstructor.h: * runtime/ErrorInstance.cpp: (JSC::ErrorInstance::create): (JSC::appendSourceToError): (JSC::ErrorInstance::finishCreation): (JSC::ErrorInstance::sanitizedToString): (JSC::ErrorInstance::getOwnPropertySlot): (JSC::ErrorInstance::getOwnNonIndexPropertyNames): (JSC::ErrorInstance::getStructurePropertyNames): (JSC::ErrorInstance::defineOwnProperty): (JSC::ErrorInstance::put): (JSC::ErrorInstance::deleteProperty): * runtime/ErrorInstance.h: (JSC::ErrorInstance::create): * runtime/ErrorPrototype.cpp: (JSC::errorProtoFuncToString): * runtime/EvalExecutable.cpp: (JSC::EvalExecutable::EvalExecutable): * runtime/EvalExecutable.h: * runtime/ExceptionFuzz.cpp: (JSC::doExceptionFuzzing): * runtime/ExceptionFuzz.h: (JSC::doExceptionFuzzingIfEnabled): * runtime/ExceptionHelpers.cpp: (JSC::TerminatedExecutionError::defaultValue): (JSC::createStackOverflowError): (JSC::createUndefinedVariableError): (JSC::errorDescriptionForValue): (JSC::createError): (JSC::createInvalidFunctionApplyParameterError): (JSC::createInvalidInParameterError): (JSC::createInvalidInstanceofParameterErrorNotFunction): (JSC::createInvalidInstanceofParameterErrorHasInstanceValueNotFunction): (JSC::createNotAConstructorError): (JSC::createNotAFunctionError): (JSC::createNotAnObjectError): (JSC::createErrorForInvalidGlobalAssignment): (JSC::createTDZError): (JSC::throwOutOfMemoryError): (JSC::throwStackOverflowError): (JSC::throwTerminatedExecutionException): * runtime/ExceptionHelpers.h: * runtime/FunctionConstructor.cpp: (JSC::constructWithFunctionConstructor): (JSC::callFunctionConstructor): (JSC::constructFunction): (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/FunctionConstructor.h: * runtime/FunctionExecutable.cpp: (JSC::FunctionExecutable::fromGlobalCode): * runtime/FunctionExecutable.h: * runtime/FunctionPrototype.cpp: (JSC::functionProtoFuncToString): * runtime/FunctionRareData.h: * runtime/GeneratorFunctionConstructor.cpp: (JSC::callGeneratorFunctionConstructor): (JSC::constructGeneratorFunctionConstructor): * runtime/GenericArguments.h: * runtime/GenericArgumentsInlines.h: (JSC::GenericArguments<Type>::getOwnPropertySlot): (JSC::GenericArguments<Type>::getOwnPropertySlotByIndex): (JSC::GenericArguments<Type>::getOwnPropertyNames): (JSC::GenericArguments<Type>::put): (JSC::GenericArguments<Type>::putByIndex): (JSC::GenericArguments<Type>::deleteProperty): (JSC::GenericArguments<Type>::deletePropertyByIndex): (JSC::GenericArguments<Type>::defineOwnProperty): (JSC::GenericArguments<Type>::copyToArguments): * runtime/GenericTypedArrayView.h: * runtime/GenericTypedArrayViewInlines.h: (JSC::GenericTypedArrayView<Adaptor>::wrap): * runtime/GetterSetter.cpp: (JSC::callGetter): (JSC::callSetter): * runtime/GetterSetter.h: * runtime/HashMapImpl.h: (JSC::HashMapBuffer::create): (JSC::areKeysEqual): (JSC::jsMapHash): (JSC::HashMapImpl::finishCreation): (JSC::HashMapImpl::findBucket): (JSC::HashMapImpl::get): (JSC::HashMapImpl::has): (JSC::HashMapImpl::add): (JSC::HashMapImpl::addNormalized): (JSC::HashMapImpl::remove): (JSC::HashMapImpl::clear): (JSC::HashMapImpl::setUpHeadAndTail): (JSC::HashMapImpl::addNormalizedNonExistingForCloning): (JSC::HashMapImpl::addNormalizedInternal): (JSC::HashMapImpl::findBucketAlreadyHashedAndNormalized): (JSC::HashMapImpl::rehash): (JSC::HashMapImpl::makeAndSetNewBuffer): * runtime/Identifier.h: * runtime/IndirectEvalExecutable.cpp: (JSC::IndirectEvalExecutable::create): (JSC::IndirectEvalExecutable::IndirectEvalExecutable): * runtime/IndirectEvalExecutable.h: * runtime/InspectorInstrumentationObject.cpp: (JSC::inspectorInstrumentationObjectLog): * runtime/InternalFunction.cpp: (JSC::InternalFunction::InternalFunction): (JSC::InternalFunction::createSubclassStructureSlow): * runtime/InternalFunction.h: (JSC::InternalFunction::createSubclassStructure): * runtime/IntlCollator.cpp: (JSC::IntlCollator::initializeCollator): (JSC::IntlCollator::createCollator): (JSC::IntlCollator::compareStrings): (JSC::IntlCollator::resolvedOptions): * runtime/IntlCollator.h: * runtime/IntlCollatorConstructor.cpp: (JSC::constructIntlCollator): (JSC::callIntlCollator): (JSC::IntlCollatorConstructorFuncSupportedLocalesOf): * runtime/IntlCollatorPrototype.cpp: (JSC::IntlCollatorFuncCompare): (JSC::IntlCollatorPrototypeGetterCompare): (JSC::IntlCollatorPrototypeFuncResolvedOptions): * runtime/IntlDateTimeFormat.cpp: (JSC::IntlDTFInternal::toDateTimeOptionsAnyDate): (JSC::IntlDateTimeFormat::initializeDateTimeFormat): (JSC::IntlDateTimeFormat::resolvedOptions): (JSC::IntlDateTimeFormat::format): (JSC::IntlDateTimeFormat::formatToParts): * runtime/IntlDateTimeFormat.h: * runtime/IntlDateTimeFormatConstructor.cpp: (JSC::constructIntlDateTimeFormat): (JSC::callIntlDateTimeFormat): (JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf): * runtime/IntlDateTimeFormatPrototype.cpp: (JSC::IntlDateTimeFormatFuncFormatDateTime): (JSC::IntlDateTimeFormatPrototypeGetterFormat): (JSC::IntlDateTimeFormatPrototypeFuncFormatToParts): (JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions): * runtime/IntlNumberFormat.cpp: (JSC::IntlNumberFormat::initializeNumberFormat): (JSC::IntlNumberFormat::formatNumber): (JSC::IntlNumberFormat::resolvedOptions): (JSC::IntlNumberFormat::formatToParts): * runtime/IntlNumberFormat.h: * runtime/IntlNumberFormatConstructor.cpp: (JSC::constructIntlNumberFormat): (JSC::callIntlNumberFormat): (JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf): * runtime/IntlNumberFormatPrototype.cpp: (JSC::IntlNumberFormatFuncFormatNumber): (JSC::IntlNumberFormatPrototypeGetterFormat): (JSC::IntlNumberFormatPrototypeFuncFormatToParts): (JSC::IntlNumberFormatPrototypeFuncResolvedOptions): * runtime/IntlObject.cpp: (JSC::intlBooleanOption): (JSC::intlStringOption): (JSC::intlNumberOption): (JSC::intlDefaultNumberOption): (JSC::canonicalizeLocaleList): (JSC::defaultLocale): (JSC::lookupMatcher): (JSC::bestFitMatcher): (JSC::resolveLocale): (JSC::lookupSupportedLocales): (JSC::bestFitSupportedLocales): (JSC::supportedLocales): (JSC::intlObjectFuncGetCanonicalLocales): * runtime/IntlObject.h: * runtime/IntlObjectInlines.h: (JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor): * runtime/IntlPluralRules.cpp: (JSC::IntlPluralRules::initializePluralRules): (JSC::IntlPluralRules::resolvedOptions): (JSC::IntlPluralRules::select): * runtime/IntlPluralRules.h: * runtime/IntlPluralRulesConstructor.cpp: (JSC::constructIntlPluralRules): (JSC::callIntlPluralRules): (JSC::IntlPluralRulesConstructorFuncSupportedLocalesOf): * runtime/IntlPluralRulesPrototype.cpp: (JSC::IntlPluralRulesPrototypeFuncSelect): (JSC::IntlPluralRulesPrototypeFuncResolvedOptions): * runtime/IteratorOperations.cpp: (JSC::iteratorNext): (JSC::iteratorValue): (JSC::iteratorComplete): (JSC::iteratorStep): (JSC::iteratorClose): (JSC::createIteratorResultObject): (JSC::hasIteratorMethod): (JSC::iteratorMethod): (JSC::iteratorForIterable): * runtime/IteratorOperations.h: (JSC::forEachInIterable): * runtime/JSArray.cpp: (JSC::JSArray::setLengthWritable): (JSC::JSArray::defineOwnProperty): (JSC::JSArray::getOwnPropertySlot): (JSC::JSArray::put): (JSC::JSArray::deleteProperty): (JSC::JSArray::getOwnNonIndexPropertyNames): (JSC::JSArray::setLengthWithArrayStorage): (JSC::JSArray::appendMemcpy): (JSC::JSArray::setLength): (JSC::JSArray::pop): (JSC::JSArray::push): (JSC::JSArray::fastSlice): (JSC::JSArray::shiftCountWithAnyIndexingType): (JSC::JSArray::unshiftCountWithArrayStorage): (JSC::JSArray::unshiftCountWithAnyIndexingType): (JSC::JSArray::fillArgList): (JSC::JSArray::copyToArguments): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): * runtime/JSArray.h: (JSC::JSArray::shiftCountForShift): (JSC::JSArray::shiftCountForSplice): (JSC::JSArray::shiftCount): (JSC::JSArray::unshiftCountForShift): (JSC::JSArray::unshiftCountForSplice): (JSC::JSArray::unshiftCount): * runtime/JSArrayBufferConstructor.cpp: (JSC::JSGenericArrayBufferConstructor<sharingMode>::constructArrayBuffer): (JSC::callArrayBuffer): * runtime/JSArrayBufferPrototype.cpp: (JSC::arrayBufferProtoFuncSlice): (JSC::arrayBufferProtoGetterFuncByteLength): (JSC::sharedArrayBufferProtoGetterFuncByteLength): * runtime/JSArrayBufferView.cpp: (JSC::JSArrayBufferView::toStringName): (JSC::JSArrayBufferView::put): (JSC::JSArrayBufferView::unsharedJSBuffer): (JSC::JSArrayBufferView::possiblySharedJSBuffer): (JSC::JSArrayBufferView::slowDownAndWasteMemory): * runtime/JSArrayBufferView.h: * runtime/JSArrayInlines.h: (JSC::toLength): (JSC::JSArray::pushInline): * runtime/JSBigInt.cpp: (JSC::JSBigInt::tryCreateWithLength): (JSC::JSBigInt::toPrimitive const): (JSC::JSBigInt::parseInt): (JSC::JSBigInt::stringToBigInt): (JSC::JSBigInt::toString): (JSC::JSBigInt::exponentiate): (JSC::JSBigInt::multiply): (JSC::JSBigInt::divide): (JSC::JSBigInt::remainder): (JSC::JSBigInt::add): (JSC::JSBigInt::sub): (JSC::JSBigInt::bitwiseAnd): (JSC::JSBigInt::bitwiseOr): (JSC::JSBigInt::bitwiseXor): (JSC::JSBigInt::leftShift): (JSC::JSBigInt::signedRightShift): (JSC::JSBigInt::bitwiseNot): (JSC::JSBigInt::absoluteAdd): (JSC::JSBigInt::absoluteDivWithBigIntDivisor): (JSC::JSBigInt::absoluteLeftShiftAlwaysCopy): (JSC::JSBigInt::absoluteAddOne): (JSC::JSBigInt::absoluteSubOne): (JSC::JSBigInt::leftShiftByAbsolute): (JSC::JSBigInt::rightShiftByAbsolute): (JSC::JSBigInt::toStringBasePowerOfTwo): (JSC::JSBigInt::toStringGeneric): (JSC::JSBigInt::allocateFor): (JSC::JSBigInt::toNumber const): (JSC::JSBigInt::getPrimitiveNumber const): (JSC::JSBigInt::toObject const): * runtime/JSBigInt.h: * runtime/JSBoundFunction.cpp: (JSC::boundThisNoArgsFunctionCall): (JSC::boundFunctionCall): (JSC::boundThisNoArgsFunctionConstruct): (JSC::boundFunctionConstruct): (JSC::hasInstanceBoundFunction): (JSC::getBoundFunctionStructure): (JSC::JSBoundFunction::create): (JSC::JSBoundFunction::customHasInstance): (JSC::JSBoundFunction::boundArgsCopy): * runtime/JSBoundFunction.h: * runtime/JSCJSValue.cpp: (JSC::JSValue::toInteger const): (JSC::JSValue::toIntegerPreserveNaN const): (JSC::JSValue::toLength const): (JSC::JSValue::toNumberSlowCase const): (JSC::JSValue::toObjectSlowCase const): (JSC::JSValue::toThisSlowCase const): (JSC::JSValue::synthesizePrototype const): (JSC::JSValue::putToPrimitive): (JSC::JSValue::putToPrimitiveByIndex): (JSC::JSValue::toStringSlowCase const): (JSC::JSValue::toWTFStringSlowCase const): * runtime/JSCJSValue.h: (JSC::JSValue::toFloat const): * runtime/JSCJSValueInlines.h: (JSC::JSValue::toInt32 const): (JSC::JSValue::toUInt32 const): (JSC::JSValue::toIndex const): (JSC::JSValue::getString const): (JSC::Unknown>::getString const): (JSC::JSValue::toPropertyKey const): (JSC::JSValue::toPrimitive const): (JSC::toPreferredPrimitiveType): (JSC::JSValue::getPrimitiveNumber): (JSC::JSValue::toNumber const): (JSC::JSValue::toNumeric const): (JSC::JSValue::toBigIntOrInt32 const): (JSC::JSValue::toObject const): (JSC::JSValue::toThis const): (JSC::JSValue::get const): (JSC::JSValue::getPropertySlot const): (JSC::JSValue::getOwnPropertySlot const): (JSC::JSValue::put): (JSC::JSValue::putInline): (JSC::JSValue::putByIndex): (JSC::JSValue::equal): (JSC::JSValue::equalSlowCaseInline): (JSC::JSValue::strictEqualSlowCaseInline): (JSC::JSValue::strictEqual): (JSC::JSValue::requireObjectCoercible const): (JSC::sameValue): * runtime/JSCell.cpp: (JSC::JSCell::getString const): (JSC::JSCell::put): (JSC::JSCell::putByIndex): (JSC::JSCell::deleteProperty): (JSC::JSCell::deletePropertyByIndex): (JSC::JSCell::toThis): (JSC::JSCell::toPrimitive const): (JSC::JSCell::getPrimitiveNumber const): (JSC::JSCell::toNumber const): (JSC::JSCell::toObjectSlow const): (JSC::JSCell::defaultValue): (JSC::JSCell::getOwnPropertySlot): (JSC::JSCell::getOwnPropertySlotByIndex): (JSC::JSCell::doPutPropertySecurityCheck): (JSC::JSCell::getOwnPropertyNames): (JSC::JSCell::getOwnNonIndexPropertyNames): (JSC::JSCell::toStringName): (JSC::JSCell::getPropertyNames): (JSC::JSCell::customHasInstance): (JSC::JSCell::defineOwnProperty): (JSC::JSCell::getEnumerableLength): (JSC::JSCell::getStructurePropertyNames): (JSC::JSCell::getGenericPropertyNames): (JSC::JSCell::preventExtensions): (JSC::JSCell::isExtensible): (JSC::JSCell::setPrototype): (JSC::JSCell::getPrototype): * runtime/JSCell.h: * runtime/JSCellInlines.h: (JSC::CallFrame::vm const): (JSC::JSCell::toBoolean const): (JSC::JSCell::toObject const): (JSC::JSCell::putInline): (JSC::ExecState::vm const): Deleted. * runtime/JSCustomGetterSetterFunction.cpp: (JSC::JSCustomGetterSetterFunction::customGetterSetterFunctionCall): * runtime/JSDataView.cpp: (JSC::JSDataView::create): (JSC::JSDataView::createUninitialized): (JSC::JSDataView::set): (JSC::JSDataView::setIndex): (JSC::JSDataView::getOwnPropertySlot): (JSC::JSDataView::put): (JSC::JSDataView::defineOwnProperty): (JSC::JSDataView::deleteProperty): (JSC::JSDataView::getOwnNonIndexPropertyNames): * runtime/JSDataView.h: * runtime/JSDataViewPrototype.cpp: (JSC::getData): (JSC::setData): (JSC::dataViewProtoGetterBuffer): (JSC::dataViewProtoGetterByteLength): (JSC::dataViewProtoGetterByteOffset): * runtime/JSDateMath.cpp: (JSC::parseDate): * runtime/JSDateMath.h: * runtime/JSFixedArray.cpp: (JSC::JSFixedArray::copyToArguments): * runtime/JSFixedArray.h: * runtime/JSFunction.cpp: (JSC::callHostFunctionAsConstructor): (JSC::JSFunction::prototypeForConstruction): (JSC::JSFunction::allocateAndInitializeRareData): (JSC::JSFunction::initializeRareData): (JSC::retrieveArguments): (JSC::JSFunction::argumentsGetter): (JSC::retrieveCallerFunction): (JSC::JSFunction::callerGetter): (JSC::JSFunction::getOwnPropertySlot): (JSC::JSFunction::getOwnNonIndexPropertyNames): (JSC::JSFunction::put): (JSC::JSFunction::deleteProperty): (JSC::JSFunction::defineOwnProperty): (JSC::JSFunction::setFunctionName): (JSC::JSFunction::reifyName): (JSC::JSFunction::reifyLazyPropertyIfNeeded): (JSC::JSFunction::reifyLazyPropertyForHostOrBuiltinIfNeeded): (JSC::JSFunction::reifyLazyLengthIfNeeded): (JSC::JSFunction::reifyLazyNameIfNeeded): (JSC::JSFunction::reifyLazyBoundNameIfNeeded): * runtime/JSFunction.h: * runtime/JSFunctionInlines.h: (JSC::JSFunction::ensureRareDataAndAllocationProfile): * runtime/JSGenericTypedArrayView.h: * runtime/JSGenericTypedArrayViewConstructorInlines.h: (JSC::constructGenericTypedArrayViewFromIterator): (JSC::constructGenericTypedArrayViewWithArguments): (JSC::constructGenericTypedArrayView): (JSC::callGenericTypedArrayView): * runtime/JSGenericTypedArrayViewInlines.h: (JSC::JSGenericTypedArrayView<Adaptor>::create): (JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector): (JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized): (JSC::JSGenericTypedArrayView<Adaptor>::validateRange): (JSC::JSGenericTypedArrayView<Adaptor>::setWithSpecificType): (JSC::JSGenericTypedArrayView<Adaptor>::set): (JSC::JSGenericTypedArrayView<Adaptor>::throwNeuteredTypedArrayTypeError): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot): (JSC::JSGenericTypedArrayView<Adaptor>::put): (JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty): (JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::putByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::deletePropertyByIndex): (JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertyNames): * runtime/JSGenericTypedArrayViewPrototypeFunctions.h: (JSC::speciesConstruct): (JSC::argumentClampedIndexFromStartOrEnd): (JSC::genericTypedArrayViewProtoFuncSet): (JSC::genericTypedArrayViewProtoFuncCopyWithin): (JSC::genericTypedArrayViewProtoFuncIncludes): (JSC::genericTypedArrayViewProtoFuncIndexOf): (JSC::genericTypedArrayViewProtoFuncJoin): (JSC::genericTypedArrayViewProtoFuncLastIndexOf): (JSC::genericTypedArrayViewProtoGetterFuncBuffer): (JSC::genericTypedArrayViewProtoGetterFuncLength): (JSC::genericTypedArrayViewProtoGetterFuncByteLength): (JSC::genericTypedArrayViewProtoGetterFuncByteOffset): (JSC::genericTypedArrayViewProtoFuncReverse): (JSC::genericTypedArrayViewPrivateFuncSort): (JSC::genericTypedArrayViewProtoFuncSlice): (JSC::genericTypedArrayViewPrivateFuncSubarrayCreate): * runtime/JSGlobalLexicalEnvironment.cpp: (JSC::JSGlobalLexicalEnvironment::getOwnPropertySlot): (JSC::JSGlobalLexicalEnvironment::put): * runtime/JSGlobalLexicalEnvironment.h: * runtime/JSGlobalObject.cpp: (JSC::createConsoleProperty): (JSC::makeBoundFunction): (JSC::hasOwnLengthProperty): (JSC::getGetterById): (JSC::JSGlobalObject::init): (JSC::JSGlobalObject::put): (JSC::JSGlobalObject::defineOwnProperty): (JSC::JSGlobalObject::addFunction): (JSC::JSGlobalObject::visitChildren): (JSC::JSGlobalObject::deprecatedCallFrameForDebugger): (JSC::JSGlobalObject::exposeDollarVM): (JSC::JSGlobalObject::getOwnPropertySlot): (JSC::JSGlobalObject::tryInstallArraySpeciesWatchpoint): (JSC::JSGlobalObject::defaultCollator): (JSC::JSGlobalObject::globalExec): Deleted. * runtime/JSGlobalObject.h: (JSC::JSGlobalObject::addVar): (JSC::JSGlobalObject::regExpConstructor const): (JSC::JSGlobalObject::functionConstructor const): (JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation const): (JSC::JSGlobalObject::supportsRichSourceInfo): (JSC::JSGlobalObject::globalObjectAtDebuggerEntry const): (JSC::JSGlobalObject::setGlobalObjectAtDebuggerEntry): (JSC::constructEmptyArray): (JSC::constructArray): (JSC::constructArrayNegativeIndexed): (JSC::JSGlobalObject::callFrameAtDebuggerEntry const): Deleted. (JSC::JSGlobalObject::setCallFrameAtDebuggerEntry): Deleted. (JSC::ExecState::globalThisValue const): Deleted. * runtime/JSGlobalObjectFunctions.cpp: (JSC::encode): (JSC::decode): (JSC::globalFuncEval): (JSC::globalFuncParseInt): (JSC::globalFuncParseFloat): (JSC::globalFuncDecodeURI): (JSC::globalFuncDecodeURIComponent): (JSC::globalFuncEncodeURI): (JSC::globalFuncEncodeURIComponent): (JSC::globalFuncEscape): (JSC::globalFuncUnescape): (JSC::globalFuncThrowTypeError): (JSC::globalFuncThrowTypeErrorArgumentsCalleeAndCaller): (JSC::globalFuncMakeTypeError): (JSC::globalFuncProtoGetter): (JSC::globalFuncProtoSetter): (JSC::globalFuncHostPromiseRejectionTracker): (JSC::globalFuncBuiltinLog): (JSC::globalFuncImportModule): (JSC::globalFuncPropertyIsEnumerable): (JSC::globalFuncOwnKeys): (JSC::globalFuncDateTimeFormat): * runtime/JSGlobalObjectFunctions.h: * runtime/JSGlobalObjectInlines.h: (JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation const): (JSC::getVM): * runtime/JSImmutableButterfly.cpp: (JSC::JSImmutableButterfly::copyToArguments): * runtime/JSImmutableButterfly.h: * runtime/JSInternalPromise.cpp: (JSC::JSInternalPromise::then): * runtime/JSInternalPromise.h: * runtime/JSInternalPromiseDeferred.cpp: (JSC::JSInternalPromiseDeferred::tryCreate): (JSC::JSInternalPromiseDeferred::resolve): (JSC::JSInternalPromiseDeferred::reject): * runtime/JSInternalPromiseDeferred.h: * runtime/JSLexicalEnvironment.cpp: (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames): (JSC::JSLexicalEnvironment::getOwnPropertySlot): (JSC::JSLexicalEnvironment::put): (JSC::JSLexicalEnvironment::deleteProperty): * runtime/JSLexicalEnvironment.h: * runtime/JSLock.cpp: (JSC::JSLockHolder::JSLockHolder): (JSC::JSLock::lock): (JSC::JSLock::unlock): (JSC::JSLock::DropAllLocks::DropAllLocks): * runtime/JSLock.h: * runtime/JSMap.cpp: (JSC::JSMap::toStringName): (JSC::JSMap::clone): * runtime/JSMap.h: * runtime/JSMapIterator.cpp: (JSC::JSMapIterator::createPair): * runtime/JSMapIterator.h: * runtime/JSMicrotask.cpp: (JSC::JSMicrotask::run): * runtime/JSModuleEnvironment.cpp: (JSC::JSModuleEnvironment::getOwnPropertySlot): (JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames): (JSC::JSModuleEnvironment::put): (JSC::JSModuleEnvironment::deleteProperty): * runtime/JSModuleEnvironment.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::finishCreation): (JSC::printableModuleKey): (JSC::JSModuleLoader::dependencyKeysIfEvaluated): (JSC::JSModuleLoader::provideFetch): (JSC::JSModuleLoader::loadAndEvaluateModule): (JSC::JSModuleLoader::loadModule): (JSC::JSModuleLoader::linkAndEvaluateModule): (JSC::JSModuleLoader::requestImportModule): (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::resolveSync): (JSC::JSModuleLoader::resolve): (JSC::JSModuleLoader::fetch): (JSC::JSModuleLoader::createImportMetaProperties): (JSC::JSModuleLoader::evaluate): (JSC::JSModuleLoader::evaluateNonVirtual): (JSC::JSModuleLoader::getModuleNamespaceObject): (JSC::moduleLoaderParseModule): (JSC::moduleLoaderRequestedModules): (JSC::moduleLoaderModuleDeclarationInstantiation): (JSC::moduleLoaderResolve): (JSC::moduleLoaderResolveSync): (JSC::moduleLoaderFetch): (JSC::moduleLoaderGetModuleNamespaceObject): (JSC::moduleLoaderEvaluate): * runtime/JSModuleLoader.h: * runtime/JSModuleNamespaceObject.cpp: (JSC::JSModuleNamespaceObject::finishCreation): (JSC::JSModuleNamespaceObject::getOwnPropertySlotCommon): (JSC::JSModuleNamespaceObject::getOwnPropertySlot): (JSC::JSModuleNamespaceObject::getOwnPropertySlotByIndex): (JSC::JSModuleNamespaceObject::put): (JSC::JSModuleNamespaceObject::putByIndex): (JSC::JSModuleNamespaceObject::deleteProperty): (JSC::JSModuleNamespaceObject::getOwnPropertyNames): (JSC::JSModuleNamespaceObject::defineOwnProperty): * runtime/JSModuleNamespaceObject.h: * runtime/JSModuleRecord.cpp: (JSC::JSModuleRecord::create): (JSC::JSModuleRecord::finishCreation): (JSC::JSModuleRecord::link): (JSC::JSModuleRecord::instantiateDeclarations): (JSC::JSModuleRecord::evaluate): * runtime/JSModuleRecord.h: * runtime/JSONObject.cpp: (JSC::unwrapBoxedPrimitive): (JSC::gap): (JSC::PropertyNameForFunctionCall::value const): (JSC::Stringifier::Stringifier): (JSC::Stringifier::stringify): (JSC::Stringifier::toJSON): (JSC::Stringifier::toJSONImpl): (JSC::Stringifier::appendStringifiedValue): (JSC::Stringifier::Holder::Holder): (JSC::Stringifier::Holder::appendNextProperty): (JSC::Walker::Walker): (JSC::Walker::callReviver): (JSC::Walker::walk): (JSC::JSONProtoFuncParse): (JSC::JSONProtoFuncStringify): (JSC::JSONParse): (JSC::JSONStringify): * runtime/JSONObject.h: * runtime/JSObject.cpp: (JSC::getClassPropertyNames): (JSC::JSObject::toStringName): (JSC::JSObject::calculatedClassName): (JSC::JSObject::getOwnPropertySlotByIndex): (JSC::ordinarySetSlow): (JSC::JSObject::put): (JSC::JSObject::putInlineSlow): (JSC::JSObject::putByIndex): (JSC::JSObject::setPrototypeWithCycleCheck): (JSC::JSObject::setPrototype): (JSC::JSObject::getPrototype): (JSC::JSObject::putGetter): (JSC::JSObject::putSetter): (JSC::JSObject::putDirectAccessor): (JSC::JSObject::hasProperty const): (JSC::JSObject::hasPropertyGeneric const): (JSC::JSObject::deleteProperty): (JSC::JSObject::deletePropertyByIndex): (JSC::callToPrimitiveFunction): (JSC::JSObject::ordinaryToPrimitive const): (JSC::JSObject::defaultValue): (JSC::JSObject::toPrimitive const): (JSC::JSObject::getPrimitiveNumber const): (JSC::JSObject::hasInstance): (JSC::JSObject::defaultHasInstance): (JSC::objectPrivateFuncInstanceOf): (JSC::JSObject::getPropertyNames): (JSC::JSObject::getOwnPropertyNames): (JSC::JSObject::getOwnNonIndexPropertyNames): (JSC::JSObject::toNumber const): (JSC::JSObject::toString const): (JSC::JSObject::toThis): (JSC::JSObject::preventExtensions): (JSC::JSObject::isExtensible): (JSC::JSObject::reifyAllStaticProperties): (JSC::putIndexedDescriptor): (JSC::JSObject::defineOwnIndexedProperty): (JSC::JSObject::attemptToInterceptPutByIndexOnHoleForPrototype): (JSC::JSObject::attemptToInterceptPutByIndexOnHole): (JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes): (JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putByIndexBeyondVectorLength): (JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage): (JSC::JSObject::putDirectIndexSlowOrBeyondVectorLength): (JSC::getCustomGetterSetterFunctionForGetterSetter): (JSC::JSObject::getOwnPropertyDescriptor): (JSC::putDescriptor): (JSC::JSObject::putDirectMayBeIndex): (JSC::validateAndApplyPropertyDescriptor): (JSC::JSObject::defineOwnNonIndexProperty): (JSC::JSObject::defineOwnProperty): (JSC::JSObject::getEnumerableLength): (JSC::JSObject::getStructurePropertyNames): (JSC::JSObject::getGenericPropertyNames): (JSC::JSObject::getMethod): * runtime/JSObject.h: (JSC::JSObject::putByIndexInline): (JSC::JSObject::putDirectIndex): (JSC::JSObject::getDirectIndex): (JSC::JSObject::getIndex const): (JSC::JSObject::createRawObject): (JSC::JSFinalObject::create): (JSC::JSObject::getPrototype): (JSC::JSObject::getOwnPropertySlot): (JSC::JSObject::doPutPropertySecurityCheck): (JSC::JSObject::getPropertySlot): (JSC::JSObject::get const): * runtime/JSObjectInlines.h: (JSC::createListFromArrayLike): (JSC::JSObject::getPropertySlot const): (JSC::JSObject::getPropertySlot): (JSC::JSObject::getNonIndexPropertySlot): (JSC::JSObject::getOwnPropertySlotInline): (JSC::JSObject::putInlineForJSObject): (JSC::JSObject::hasOwnProperty const): (JSC::JSObject::putOwnDataPropertyMayBeIndex): * runtime/JSPromise.cpp: (JSC::JSPromise::resolve): * runtime/JSPromise.h: * runtime/JSPromiseDeferred.cpp: (JSC::JSPromiseDeferred::createDeferredData): (JSC::JSPromiseDeferred::tryCreate): (JSC::callFunction): (JSC::JSPromiseDeferred::resolve): (JSC::JSPromiseDeferred::reject): * runtime/JSPromiseDeferred.h: * runtime/JSPropertyNameEnumerator.h: (JSC::propertyNameEnumerator): * runtime/JSProxy.cpp: (JSC::JSProxy::toStringName): (JSC::JSProxy::getOwnPropertySlot): (JSC::JSProxy::getOwnPropertySlotByIndex): (JSC::JSProxy::put): (JSC::JSProxy::putByIndex): (JSC::JSProxy::defineOwnProperty): (JSC::JSProxy::deleteProperty): (JSC::JSProxy::isExtensible): (JSC::JSProxy::preventExtensions): (JSC::JSProxy::deletePropertyByIndex): (JSC::JSProxy::getPropertyNames): (JSC::JSProxy::getEnumerableLength): (JSC::JSProxy::getStructurePropertyNames): (JSC::JSProxy::getGenericPropertyNames): (JSC::JSProxy::getOwnPropertyNames): (JSC::JSProxy::setPrototype): (JSC::JSProxy::getPrototype): * runtime/JSProxy.h: * runtime/JSScope.cpp: (JSC::abstractAccess): (JSC::isUnscopable): (JSC::JSScope::resolve): (JSC::JSScope::resolveScopeForHoistingFuncDeclInEval): (JSC::JSScope::abstractResolve): (JSC::JSScope::toThis): * runtime/JSScope.h: (JSC::CallFrame::lexicalGlobalObject const): (JSC::ExecState::lexicalGlobalObject const): Deleted. * runtime/JSSet.cpp: (JSC::JSSet::toStringName): (JSC::JSSet::clone): * runtime/JSSet.h: * runtime/JSSetIterator.cpp: (JSC::JSSetIterator::createPair): * runtime/JSSetIterator.h: * runtime/JSString.cpp: (JSC::JSString::equalSlowCase const): (JSC::JSRopeString::resolveRopeToAtomString const): (JSC::JSRopeString::resolveRopeToExistingAtomString const): (JSC::JSRopeString::resolveRopeWithFunction const): (JSC::JSRopeString::resolveRope const): (JSC::JSRopeString::outOfMemory const): (JSC::JSString::toPrimitive const): (JSC::JSString::getPrimitiveNumber const): (JSC::JSString::toNumber const): (JSC::JSString::toObject const): (JSC::JSString::toThis): (JSC::JSString::getStringPropertyDescriptor): * runtime/JSString.h: (JSC::JSString::toIdentifier const): (JSC::JSString::toAtomString const): (JSC::JSString::toExistingAtomString const): (JSC::JSString::value const): (JSC::JSString::tryGetValue const): (JSC::JSString::getIndex): (JSC::jsSubstring): (JSC::jsStringWithCache): (JSC::JSString::getStringPropertySlot): (JSC::JSRopeString::unsafeView const): (JSC::JSRopeString::viewWithUnderlyingString const): (JSC::JSString::unsafeView const): (JSC::JSString::viewWithUnderlyingString const): (JSC::JSValue::toBoolean const): (JSC::JSValue::toString const): (JSC::JSValue::toStringOrNull const): (JSC::JSValue::toWTFString const): * runtime/JSStringInlines.h: (JSC::JSString::equal const): (JSC::jsMakeNontrivialString): (JSC::repeatCharacter): * runtime/JSStringIterator.cpp: (JSC::JSStringIterator::iteratedValue const): (JSC::JSStringIterator::clone): * runtime/JSStringIterator.h: * runtime/JSStringJoiner.cpp: (JSC::JSStringJoiner::joinedLength const): (JSC::JSStringJoiner::join): * runtime/JSStringJoiner.h: (JSC::JSStringJoiner::JSStringJoiner): (JSC::JSStringJoiner::appendWithoutSideEffects): (JSC::JSStringJoiner::append): * runtime/JSSymbolTableObject.cpp: (JSC::JSSymbolTableObject::deleteProperty): (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames): * runtime/JSSymbolTableObject.h: (JSC::symbolTablePut): (JSC::symbolTablePutTouchWatchpointSet): (JSC::symbolTablePutInvalidateWatchpointSet): * runtime/JSTemplateObjectDescriptor.cpp: (JSC::JSTemplateObjectDescriptor::createTemplateObject): * runtime/JSTemplateObjectDescriptor.h: * runtime/JSTypedArrayViewConstructor.cpp: (JSC::constructTypedArrayView): * runtime/JSTypedArrayViewPrototype.cpp: (JSC::typedArrayViewPrivateFuncLength): (JSC::typedArrayViewProtoFuncSet): (JSC::typedArrayViewProtoFuncCopyWithin): (JSC::typedArrayViewProtoFuncIncludes): (JSC::typedArrayViewProtoFuncLastIndexOf): (JSC::typedArrayViewProtoFuncIndexOf): (JSC::typedArrayViewProtoFuncJoin): (JSC::typedArrayViewProtoGetterFuncBuffer): (JSC::typedArrayViewProtoGetterFuncLength): (JSC::typedArrayViewProtoGetterFuncByteLength): (JSC::typedArrayViewProtoGetterFuncByteOffset): (JSC::typedArrayViewProtoFuncReverse): (JSC::typedArrayViewPrivateFuncSubarrayCreate): (JSC::typedArrayViewProtoFuncSlice): * runtime/JSTypedArrays.cpp: (JSC::createUint8TypedArray): * runtime/JSTypedArrays.h: * runtime/JSWeakMap.cpp: (JSC::JSWeakMap::toStringName): * runtime/JSWeakMap.h: * runtime/JSWeakObjectRef.cpp: (JSC::JSWeakObjectRef::toStringName): * runtime/JSWeakObjectRef.h: * runtime/JSWeakSet.cpp: (JSC::JSWeakSet::toStringName): * runtime/JSWeakSet.h: * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::tryJSONPParse): (JSC::LiteralParser<CharType>::makeIdentifier): (JSC::LiteralParser<CharType>::parse): * runtime/LiteralParser.h: (JSC::LiteralParser::LiteralParser): * runtime/Lookup.h: (JSC::putEntry): (JSC::lookupPut): (JSC::nonCachingStaticFunctionGetter): * runtime/MapConstructor.cpp: (JSC::callMap): (JSC::constructMap): * runtime/MapPrototype.cpp: (JSC::getMap): (JSC::mapProtoFuncClear): (JSC::mapProtoFuncDelete): (JSC::mapProtoFuncGet): (JSC::mapProtoFuncHas): (JSC::mapProtoFuncSet): (JSC::mapProtoFuncSize): * runtime/MathObject.cpp: (JSC::mathProtoFuncAbs): (JSC::mathProtoFuncACos): (JSC::mathProtoFuncASin): (JSC::mathProtoFuncATan): (JSC::mathProtoFuncATan2): (JSC::mathProtoFuncCeil): (JSC::mathProtoFuncClz32): (JSC::mathProtoFuncCos): (JSC::mathProtoFuncExp): (JSC::mathProtoFuncFloor): (JSC::mathProtoFuncHypot): (JSC::mathProtoFuncLog): (JSC::mathProtoFuncMax): (JSC::mathProtoFuncMin): (JSC::mathProtoFuncPow): (JSC::mathProtoFuncRound): (JSC::mathProtoFuncSign): (JSC::mathProtoFuncSin): (JSC::mathProtoFuncSqrt): (JSC::mathProtoFuncTan): (JSC::mathProtoFuncIMul): (JSC::mathProtoFuncACosh): (JSC::mathProtoFuncASinh): (JSC::mathProtoFuncATanh): (JSC::mathProtoFuncCbrt): (JSC::mathProtoFuncCosh): (JSC::mathProtoFuncExpm1): (JSC::mathProtoFuncFround): (JSC::mathProtoFuncLog1p): (JSC::mathProtoFuncLog10): (JSC::mathProtoFuncLog2): (JSC::mathProtoFuncSinh): (JSC::mathProtoFuncTanh): (JSC::mathProtoFuncTrunc): * runtime/Microtask.h: * runtime/ModuleProgramExecutable.cpp: (JSC::ModuleProgramExecutable::ModuleProgramExecutable): (JSC::ModuleProgramExecutable::create): * runtime/ModuleProgramExecutable.h: * runtime/NativeErrorConstructor.cpp: (JSC::NativeErrorConstructor<errorType>::constructNativeErrorConstructor): (JSC::NativeErrorConstructor<errorType>::callNativeErrorConstructor): * runtime/NullSetterFunction.cpp: (JSC::callerIsStrict): (JSC::NullSetterFunctionInternal::callReturnUndefined): * runtime/NumberConstructor.cpp: (JSC::constructNumberConstructor): (JSC::callNumberConstructor): * runtime/NumberObject.cpp: (JSC::constructNumber): * runtime/NumberObject.h: * runtime/NumberPrototype.cpp: (JSC::throwVMToThisNumberError): (JSC::numberProtoFuncToExponential): (JSC::numberProtoFuncToFixed): (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString): (JSC::numberProtoFuncToLocaleString): (JSC::numberProtoFuncValueOf): (JSC::extractToStringRadixArgument): * runtime/NumberPrototype.h: * runtime/ObjectConstructor.cpp: (JSC::constructObjectWithNewTarget): (JSC::constructWithObjectConstructor): (JSC::callObjectConstructor): (JSC::objectConstructorGetPrototypeOf): (JSC::objectConstructorSetPrototypeOf): (JSC::objectConstructorGetOwnPropertyDescriptor): (JSC::objectConstructorGetOwnPropertyDescriptors): (JSC::objectConstructorGetOwnPropertyNames): (JSC::objectConstructorGetOwnPropertySymbols): (JSC::objectConstructorKeys): (JSC::objectConstructorAssign): (JSC::objectConstructorValues): (JSC::toPropertyDescriptor): (JSC::objectConstructorDefineProperty): (JSC::defineProperties): (JSC::objectConstructorDefineProperties): (JSC::objectConstructorCreate): (JSC::setIntegrityLevel): (JSC::testIntegrityLevel): (JSC::objectConstructorSeal): (JSC::objectConstructorFreeze): (JSC::objectConstructorPreventExtensions): (JSC::objectConstructorIsSealed): (JSC::objectConstructorIsFrozen): (JSC::objectConstructorIsExtensible): (JSC::objectConstructorIs): (JSC::ownPropertyKeys): * runtime/ObjectConstructor.h: (JSC::constructEmptyObject): (JSC::constructObject): (JSC::constructObjectFromPropertyDescriptor): * runtime/ObjectPrototype.cpp: (JSC::objectProtoFuncValueOf): (JSC::objectProtoFuncHasOwnProperty): (JSC::objectProtoFuncIsPrototypeOf): (JSC::objectProtoFuncDefineGetter): (JSC::objectProtoFuncDefineSetter): (JSC::objectProtoFuncLookupGetter): (JSC::objectProtoFuncLookupSetter): (JSC::objectProtoFuncPropertyIsEnumerable): (JSC::objectProtoFuncToLocaleString): (JSC::objectProtoFuncToString): * runtime/Operations.cpp: (JSC::JSValue::equalSlowCase): (JSC::JSValue::strictEqualSlowCase): (JSC::jsAddSlowCase): (JSC::jsTypeStringForValue): (JSC::jsIsObjectTypeOrNull): (JSC::normalizePrototypeChain): * runtime/Operations.h: (JSC::jsString): (JSC::jsStringFromRegisterArray): (JSC::bigIntCompare): (JSC::toPrimitiveNumeric): (JSC::jsLess): (JSC::jsLessEq): (JSC::jsAddNonNumber): (JSC::jsAdd): (JSC::jsSub): (JSC::jsMul): (JSC::jsStringFromArguments): Deleted. * runtime/ParseInt.h: (JSC::toStringView): * runtime/ProgramExecutable.cpp: (JSC::ProgramExecutable::ProgramExecutable): (JSC::hasRestrictedGlobalProperty): (JSC::ProgramExecutable::initializeGlobalProperties): * runtime/ProgramExecutable.h: * runtime/PropertyDescriptor.cpp: (JSC::PropertyDescriptor::slowGetterSetter): (JSC::PropertyDescriptor::equalTo const): * runtime/PropertyDescriptor.h: * runtime/PropertySlot.cpp: (JSC::PropertySlot::functionGetter const): (JSC::PropertySlot::customGetter const): (JSC::PropertySlot::customAccessorGetter const): * runtime/PropertySlot.h: (JSC::PropertySlot::getValue const): * runtime/ProxyConstructor.cpp: (JSC::makeRevocableProxy): (JSC::proxyRevocableConstructorThrowError): (JSC::constructProxyObject): (JSC::callProxy): * runtime/ProxyConstructor.h: * runtime/ProxyObject.cpp: (JSC::ProxyObject::toStringName): (JSC::ProxyObject::finishCreation): (JSC::performProxyGet): (JSC::ProxyObject::performGet): (JSC::ProxyObject::performInternalMethodGetOwnProperty): (JSC::ProxyObject::performHasProperty): (JSC::ProxyObject::getOwnPropertySlotCommon): (JSC::ProxyObject::getOwnPropertySlot): (JSC::ProxyObject::getOwnPropertySlotByIndex): (JSC::ProxyObject::performPut): (JSC::ProxyObject::put): (JSC::ProxyObject::putByIndexCommon): (JSC::ProxyObject::putByIndex): (JSC::performProxyCall): (JSC::performProxyConstruct): (JSC::ProxyObject::performDelete): (JSC::ProxyObject::deleteProperty): (JSC::ProxyObject::deletePropertyByIndex): (JSC::ProxyObject::performPreventExtensions): (JSC::ProxyObject::preventExtensions): (JSC::ProxyObject::performIsExtensible): (JSC::ProxyObject::isExtensible): (JSC::ProxyObject::performDefineOwnProperty): (JSC::ProxyObject::defineOwnProperty): (JSC::ProxyObject::performGetOwnPropertyNames): (JSC::ProxyObject::getOwnPropertyNames): (JSC::ProxyObject::getPropertyNames): (JSC::ProxyObject::getOwnNonIndexPropertyNames): (JSC::ProxyObject::getStructurePropertyNames): (JSC::ProxyObject::getGenericPropertyNames): (JSC::ProxyObject::performSetPrototype): (JSC::ProxyObject::setPrototype): (JSC::ProxyObject::performGetPrototype): (JSC::ProxyObject::getPrototype): * runtime/ProxyObject.h: * runtime/PutPropertySlot.h: * runtime/ReflectObject.cpp: (JSC::reflectObjectConstruct): (JSC::reflectObjectDefineProperty): (JSC::reflectObjectGet): (JSC::reflectObjectGetOwnPropertyDescriptor): (JSC::reflectObjectGetPrototypeOf): (JSC::reflectObjectIsExtensible): (JSC::reflectObjectOwnKeys): (JSC::reflectObjectPreventExtensions): (JSC::reflectObjectSet): (JSC::reflectObjectSetPrototypeOf): * runtime/RegExp.h: * runtime/RegExpCachedResult.cpp: (JSC::RegExpCachedResult::lastResult): (JSC::RegExpCachedResult::leftContext): (JSC::RegExpCachedResult::rightContext): (JSC::RegExpCachedResult::setInput): * runtime/RegExpCachedResult.h: * runtime/RegExpConstructor.cpp: (JSC::regExpConstructorDollar): (JSC::regExpConstructorInput): (JSC::regExpConstructorMultiline): (JSC::regExpConstructorLastMatch): (JSC::regExpConstructorLastParen): (JSC::regExpConstructorLeftContext): (JSC::regExpConstructorRightContext): (JSC::setRegExpConstructorInput): (JSC::setRegExpConstructorMultiline): (JSC::getRegExpStructure): (JSC::toFlags): (JSC::regExpCreate): (JSC::constructRegExp): (JSC::esSpecRegExpCreate): (JSC::constructWithRegExpConstructor): (JSC::callRegExpConstructor): * runtime/RegExpConstructor.h: (JSC::isRegExp): * runtime/RegExpGlobalData.cpp: (JSC::RegExpGlobalData::getBackref): (JSC::RegExpGlobalData::getLastParen): (JSC::RegExpGlobalData::getLeftContext): (JSC::RegExpGlobalData::getRightContext): * runtime/RegExpGlobalData.h: * runtime/RegExpGlobalDataInlines.h: (JSC::RegExpGlobalData::setInput): * runtime/RegExpInlines.h: (JSC::RegExp::matchInline): * runtime/RegExpMatchesArray.h: (JSC::createRegExpMatchesArray): * runtime/RegExpObject.cpp: (JSC::RegExpObject::getOwnPropertySlot): (JSC::RegExpObject::deleteProperty): (JSC::RegExpObject::getOwnNonIndexPropertyNames): (JSC::RegExpObject::getPropertyNames): (JSC::RegExpObject::getGenericPropertyNames): (JSC::RegExpObject::defineOwnProperty): (JSC::regExpObjectSetLastIndexStrict): (JSC::regExpObjectSetLastIndexNonStrict): (JSC::RegExpObject::put): (JSC::RegExpObject::exec): (JSC::RegExpObject::match): (JSC::RegExpObject::matchGlobal): * runtime/RegExpObject.h: * runtime/RegExpObjectInlines.h: (JSC::getRegExpObjectLastIndexAsUnsigned): (JSC::RegExpObject::execInline): (JSC::RegExpObject::matchInline): (JSC::collectMatches): * runtime/RegExpPrototype.cpp: (JSC::regExpProtoFuncTestFast): (JSC::regExpProtoFuncExec): (JSC::regExpProtoFuncMatchFast): (JSC::regExpProtoFuncCompile): (JSC::flagsString): (JSC::regExpProtoFuncToString): (JSC::regExpProtoGetterGlobal): (JSC::regExpProtoGetterIgnoreCase): (JSC::regExpProtoGetterMultiline): (JSC::regExpProtoGetterDotAll): (JSC::regExpProtoGetterSticky): (JSC::regExpProtoGetterUnicode): (JSC::regExpProtoGetterFlags): (JSC::regExpProtoGetterSourceInternal): (JSC::regExpProtoGetterSource): (JSC::regExpProtoFuncSearchFast): (JSC::regExpProtoFuncSplitFast): * runtime/SamplingProfiler.cpp: (JSC::FrameWalker::FrameWalker): (JSC::FrameWalker::isValidFramePointer): (JSC::CFrameWalker::CFrameWalker): (JSC::SamplingProfiler::takeSample): (JSC::SamplingProfiler::StackFrame::nameFromCallee): * runtime/ScopedArguments.cpp: (JSC::ScopedArguments::createByCopying): (JSC::ScopedArguments::copyToArguments): * runtime/ScopedArguments.h: * runtime/ScriptExecutable.cpp: (JSC::ScriptExecutable::newCodeBlockFor): (JSC::ScriptExecutable::prepareForExecutionImpl): (JSC::ScriptExecutable::createTemplateObject): * runtime/ScriptExecutable.h: * runtime/SetConstructor.cpp: (JSC::callSet): (JSC::constructSet): * runtime/SetPrototype.cpp: (JSC::getSet): (JSC::setProtoFuncAdd): (JSC::setProtoFuncClear): (JSC::setProtoFuncDelete): (JSC::setProtoFuncHas): (JSC::setProtoFuncSize): * runtime/SimpleTypedArrayController.cpp: (JSC::SimpleTypedArrayController::toJS): * runtime/SimpleTypedArrayController.h: * runtime/SparseArrayValueMap.cpp: (JSC::SparseArrayValueMap::putEntry): (JSC::SparseArrayValueMap::putDirect): (JSC::SparseArrayEntry::put): * runtime/SparseArrayValueMap.h: * runtime/StrictEvalActivation.cpp: (JSC::StrictEvalActivation::deleteProperty): * runtime/StrictEvalActivation.h: * runtime/StringConstructor.cpp: (JSC::stringFromCharCode): (JSC::stringFromCodePoint): (JSC::constructWithStringConstructor): (JSC::stringConstructor): (JSC::callStringConstructor): * runtime/StringConstructor.h: * runtime/StringObject.cpp: (JSC::StringObject::getOwnPropertySlot): (JSC::StringObject::getOwnPropertySlotByIndex): (JSC::StringObject::put): (JSC::StringObject::putByIndex): (JSC::isStringOwnProperty): (JSC::StringObject::defineOwnProperty): (JSC::StringObject::deleteProperty): (JSC::StringObject::deletePropertyByIndex): (JSC::StringObject::getOwnPropertyNames): (JSC::StringObject::getOwnNonIndexPropertyNames): * runtime/StringObject.h: (JSC::jsStringWithReuse): (JSC::jsSubstring): * runtime/StringPrototype.cpp: (JSC::substituteBackreferencesSlow): (JSC::jsSpliceSubstrings): (JSC::jsSpliceSubstringsWithSeparators): (JSC::removeUsingRegExpSearch): (JSC::replaceUsingRegExpSearch): (JSC::operationStringProtoFuncReplaceRegExpEmptyStr): (JSC::operationStringProtoFuncReplaceRegExpString): (JSC::replaceUsingStringSearch): (JSC::stringProtoFuncRepeatCharacter): (JSC::replace): (JSC::stringProtoFuncReplaceUsingRegExp): (JSC::stringProtoFuncReplaceUsingStringSearch): (JSC::operationStringProtoFuncReplaceGeneric): (JSC::stringProtoFuncToString): (JSC::stringProtoFuncCharAt): (JSC::stringProtoFuncCharCodeAt): (JSC::stringProtoFuncCodePointAt): (JSC::stringProtoFuncIndexOf): (JSC::stringProtoFuncLastIndexOf): (JSC::stringProtoFuncSlice): (JSC::splitStringByOneCharacterImpl): (JSC::stringProtoFuncSplitFast): (JSC::stringProtoFuncSubstrImpl): (JSC::stringProtoFuncSubstring): (JSC::stringProtoFuncToLowerCase): (JSC::stringProtoFuncToUpperCase): (JSC::stringProtoFuncLocaleCompare): (JSC::toLocaleCase): (JSC::stringProtoFuncToLocaleUpperCase): (JSC::trimString): (JSC::stringProtoFuncTrim): (JSC::stringProtoFuncTrimStart): (JSC::stringProtoFuncTrimEnd): (JSC::stringProtoFuncStartsWith): (JSC::stringProtoFuncEndsWith): (JSC::stringIncludesImpl): (JSC::stringProtoFuncIncludes): (JSC::builtinStringIncludesInternal): (JSC::stringProtoFuncIterator): (JSC::normalize): (JSC::stringProtoFuncNormalize): * runtime/StringPrototype.h: * runtime/StringPrototypeInlines.h: (JSC::stringSlice): * runtime/StringRecursionChecker.cpp: (JSC::StringRecursionChecker::throwStackOverflowError): (JSC::StringRecursionChecker::emptyString): * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): (JSC::StringRecursionChecker::StringRecursionChecker): (JSC::StringRecursionChecker::~StringRecursionChecker): * runtime/Structure.h: * runtime/StructureInlines.h: (JSC::Structure::prototypeChain const): (JSC::Structure::setObjectToStringValue): * runtime/StructureRareData.cpp: (JSC::StructureRareData::setObjectToStringValue): * runtime/StructureRareData.h: * runtime/Symbol.cpp: (JSC::Symbol::toPrimitive const): (JSC::Symbol::getPrimitiveNumber const): (JSC::Symbol::toObject const): (JSC::Symbol::toNumber const): * runtime/Symbol.h: * runtime/SymbolConstructor.cpp: (JSC::callSymbol): (JSC::symbolConstructorFor): (JSC::symbolConstructorKeyFor): * runtime/SymbolObject.cpp: (JSC::SymbolObject::toStringName): (JSC::SymbolObject::defaultValue): * runtime/SymbolObject.h: * runtime/SymbolPrototype.cpp: (JSC::symbolProtoGetterDescription): (JSC::symbolProtoFuncToString): (JSC::symbolProtoFuncValueOf): * runtime/TestRunnerUtils.cpp: (JSC::failNextNewCodeBlock): (JSC::numberOfDFGCompiles): (JSC::setNeverInline): (JSC::setNeverOptimize): (JSC::setCannotUseOSRExitFuzzing): (JSC::optimizeNextInvocation): * runtime/TestRunnerUtils.h: * runtime/ThrowScope.cpp: (JSC::ThrowScope::throwException): * runtime/ThrowScope.h: (JSC::ThrowScope::throwException): (JSC::throwException): * runtime/ToNativeFromValue.h: (JSC::toNativeFromValue): * runtime/TypeError.h: (JSC::typeError): * runtime/TypedArrayController.h: * runtime/VM.cpp: (JSC::VM::throwException): (JSC::VM::callPromiseRejectionCallback): (JSC::QueuedTask::run): (JSC::VM::deprecatedVMEntryGlobalObject const): (JSC::VM::vmEntryGlobalObject const): Deleted. * runtime/VM.h: (JSC::VM::addressOfCallFrameForCatch): (JSC::VM::handleTraps): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMEntryScope.h: * runtime/VMTraps.cpp: (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::invalidateCodeBlocksOnStack): * runtime/Watchdog.cpp: (JSC::Watchdog::shouldTerminate): * runtime/Watchdog.h: * runtime/WeakMapConstructor.cpp: (JSC::callWeakMap): (JSC::constructWeakMap): * runtime/WeakMapPrototype.cpp: (JSC::getWeakMap): (JSC::protoFuncWeakMapDelete): (JSC::protoFuncWeakMapGet): (JSC::protoFuncWeakMapHas): (JSC::protoFuncWeakMapSet): * runtime/WeakObjectRefConstructor.cpp: (JSC::callWeakRef): (JSC::constructWeakRef): * runtime/WeakObjectRefPrototype.cpp: (JSC::getWeakRef): (JSC::protoFuncWeakRefDeref): * runtime/WeakSetConstructor.cpp: (JSC::callWeakSet): (JSC::constructWeakSet): * runtime/WeakSetPrototype.cpp: (JSC::getWeakSet): (JSC::protoFuncWeakSetDelete): (JSC::protoFuncWeakSetHas): (JSC::protoFuncWeakSetAdd): * tools/JSDollarVM.cpp: (JSC::JSDollarVMCallFrame::create): (JSC::JSDollarVMCallFrame::finishCreation): (JSC::ImpureGetter::getOwnPropertySlot): (JSC::CustomGetter::getOwnPropertySlot): (JSC::CustomGetter::customGetter): (JSC::CustomGetter::customGetterAcessor): (JSC::RuntimeArray::create): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::finishCreation): (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::testStaticAccessorGetter): (JSC::testStaticAccessorPutter): (JSC::StaticCustomAccessor::getOwnPropertySlot): (JSC::DOMJITGetter::DOMJITAttribute::slowCall): (JSC::DOMJITGetter::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetter::customGetter): (JSC::DOMJITGetterComplex::DOMJITAttribute::slowCall): (JSC::DOMJITGetterComplex::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterComplex::customGetter): (JSC::DOMJITFunctionObject::functionWithTypeCheck): (JSC::DOMJITFunctionObject::functionWithoutTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithTypeCheck): (JSC::DOMJITCheckSubClassObject::functionWithoutTypeCheck): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::slowCall): (JSC::DOMJITGetterBaseJSObject::DOMJITAttribute::callDOMGetter): (JSC::DOMJITGetterBaseJSObject::customGetter): (JSC::customGetAccessor): (JSC::customGetValue): (JSC::customSetAccessor): (JSC::customSetValue): (JSC::functionWasmStreamingParserAddBytes): (JSC::functionBreakpoint): (JSC::functionGC): (JSC::functionEdenGC): (JSC::functionCallFrame): (JSC::functionCodeBlockForFrame): (JSC::codeBlockFromArg): (JSC::doPrint): (JSC::functionDumpCallFrame): (JSC::functionDumpStack): (JSC::functionCreateRuntimeArray): (JSC::functionSetImpureGetterDelegate): (JSC::functionCreateBuiltin): (JSC::functionGetPrivateProperty): (JSC::functionCreateElement): (JSC::functionGetHiddenValue): (JSC::functionSetHiddenValue): (JSC::functionShadowChickenFunctionsOnStack): (JSC::functionFindTypeForExpression): (JSC::functionReturnTypeFor): (JSC::functionHasBasicBlockExecuted): (JSC::functionBasicBlockExecutionCount): (JSC::changeDebuggerModeWhenIdle): (JSC::functionEnableDebuggerModeWhenIdle): (JSC::functionDisableDebuggerModeWhenIdle): (JSC::functionGetGetterSetter): (JSC::functionLoadGetterFromGetterSetter): * tools/VMInspector.cpp: (JSC::VMInspector::currentThreadOwnsJSLock): (JSC::ensureCurrentThreadOwnsJSLock): (JSC::VMInspector::gc): (JSC::VMInspector::edenGC): (JSC::VMInspector::isValidCodeBlock): (JSC::VMInspector::codeBlockForFrame): (JSC::VMInspector::dumpCallFrame): (JSC::VMInspector::dumpStack): * tools/VMInspector.h: * wasm/WasmCallingConvention.h: * wasm/WasmEmbedder.h: * wasm/WasmOperations.cpp: (JSC::Wasm::operationThrowBadI64): * wasm/WasmOperations.h: * wasm/js/JSToWasm.cpp: (JSC::Wasm::allocateResultsArray): * wasm/js/JSWebAssembly.cpp: (JSC::reject): (JSC::webAssemblyModuleValidateAsyncInternal): (JSC::webAssemblyCompileFunc): (JSC::resolve): (JSC::JSWebAssembly::webAssemblyModuleValidateAsync): (JSC::instantiate): (JSC::compileAndInstantiate): (JSC::JSWebAssembly::instantiate): (JSC::webAssemblyModuleInstantinateAsyncInternal): (JSC::JSWebAssembly::webAssemblyModuleInstantinateAsync): (JSC::webAssemblyInstantiateFunc): (JSC::webAssemblyValidateFunc): (JSC::webAssemblyCompileStreamingInternal): (JSC::webAssemblyInstantiateStreamingInternal): * wasm/js/JSWebAssembly.h: * wasm/js/JSWebAssemblyCompileError.cpp: (JSC::JSWebAssemblyCompileError::create): (JSC::createJSWebAssemblyCompileError): * wasm/js/JSWebAssemblyCompileError.h: * wasm/js/JSWebAssemblyHelpers.h: (JSC::toNonWrappingUint32): (JSC::getWasmBufferFromValue): (JSC::createSourceBufferFromValue): * wasm/js/JSWebAssemblyInstance.cpp: (JSC::JSWebAssemblyInstance::JSWebAssemblyInstance): (JSC::JSWebAssemblyInstance::finalizeCreation): (JSC::JSWebAssemblyInstance::create): * wasm/js/JSWebAssemblyInstance.h: * wasm/js/JSWebAssemblyLinkError.cpp: (JSC::JSWebAssemblyLinkError::create): (JSC::createJSWebAssemblyLinkError): * wasm/js/JSWebAssemblyLinkError.h: * wasm/js/JSWebAssemblyMemory.cpp: (JSC::JSWebAssemblyMemory::create): (JSC::JSWebAssemblyMemory::grow): * wasm/js/JSWebAssemblyMemory.h: * wasm/js/JSWebAssemblyModule.cpp: (JSC::JSWebAssemblyModule::createStub): * wasm/js/JSWebAssemblyModule.h: * wasm/js/JSWebAssemblyRuntimeError.cpp: (JSC::JSWebAssemblyRuntimeError::create): (JSC::createJSWebAssemblyRuntimeError): * wasm/js/JSWebAssemblyRuntimeError.h: * wasm/js/JSWebAssemblyTable.cpp: (JSC::JSWebAssemblyTable::create): * wasm/js/JSWebAssemblyTable.h: * wasm/js/WasmToJS.cpp: (JSC::Wasm::handleBadI64Use): (JSC::Wasm::wasmToJS): (JSC::Wasm::wasmToJSException): * wasm/js/WasmToJS.h: * wasm/js/WebAssemblyCompileErrorConstructor.cpp: (JSC::constructJSWebAssemblyCompileError): (JSC::callJSWebAssemblyCompileError): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * wasm/js/WebAssemblyInstanceConstructor.cpp: (JSC::constructJSWebAssemblyInstance): (JSC::callJSWebAssemblyInstance): * wasm/js/WebAssemblyInstanceConstructor.h: * wasm/js/WebAssemblyInstancePrototype.cpp: (JSC::getInstance): (JSC::webAssemblyInstanceProtoFuncExports): * wasm/js/WebAssemblyLinkErrorConstructor.cpp: (JSC::constructJSWebAssemblyLinkError): (JSC::callJSWebAssemblyLinkError): * wasm/js/WebAssemblyMemoryConstructor.cpp: (JSC::constructJSWebAssemblyMemory): (JSC::callJSWebAssemblyMemory): * wasm/js/WebAssemblyMemoryPrototype.cpp: (JSC::getMemory): (JSC::webAssemblyMemoryProtoFuncGrow): (JSC::webAssemblyMemoryProtoFuncBuffer): * wasm/js/WebAssemblyModuleConstructor.cpp: (JSC::webAssemblyModuleCustomSections): (JSC::webAssemblyModuleImports): (JSC::webAssemblyModuleExports): (JSC::constructJSWebAssemblyModule): (JSC::callJSWebAssemblyModule): (JSC::WebAssemblyModuleConstructor::createModule): * wasm/js/WebAssemblyModuleConstructor.h: * wasm/js/WebAssemblyModuleRecord.cpp: (JSC::WebAssemblyModuleRecord::create): (JSC::WebAssemblyModuleRecord::finishCreation): (JSC::WebAssemblyModuleRecord::link): (JSC::dataSegmentFail): (JSC::WebAssemblyModuleRecord::evaluate): * wasm/js/WebAssemblyModuleRecord.h: * wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: (JSC::constructJSWebAssemblyRuntimeError): (JSC::callJSWebAssemblyRuntimeError): * wasm/js/WebAssemblyTableConstructor.cpp: (JSC::constructJSWebAssemblyTable): (JSC::callJSWebAssemblyTable): * wasm/js/WebAssemblyTablePrototype.cpp: (JSC::getTable): (JSC::webAssemblyTableProtoFuncLength): (JSC::webAssemblyTableProtoFuncGrow): (JSC::webAssemblyTableProtoFuncGet): (JSC::webAssemblyTableProtoFuncSet): * wasm/js/WebAssemblyWrapperFunction.cpp: (JSC::callWebAssemblyWrapperFunction): * yarr/YarrErrorCode.cpp: (JSC::Yarr::errorToThrow): * yarr/YarrErrorCode.h: Source/WebCore: This patch is changing ExecState* to JSGlobalObject*. We are using ExecState* (a.k.a. CallFrame*) as a useful way to access arguments, thisValue, and lexical JSGlobalObject*. But using `CallFrame*` to access lexical `JSGlobalObject*` is wrong: when a function is inlined, `CallFrame*` is pointing a CallFrame* of outer function. So if outer function's lexical JSGlobalObject is different from inlined one, we are getting wrong value. We had this bug so long and we are adhocly fixing some of them, but we have bunch of this type of bugs. In this patch, we explicitly pass lexical JSGlobalObject* so that we pass correct lexical JSGlobalObject* instead of just passing ExecState*. This fixes various issues. And furthermore, it cleans up code by decoupling JSGlobalObject* from CallFrame*. Now CallFrame* is really a CallFrame* and it is used only when we actually want to access CallFrame information. And this also removes many `ExecState::vm()` function calls. And we can just use `JSGlobalObject::vm()` calls instead. We had a ugly hack that we had restriction that all JSCallee needs to be non-large-allocation. This limitation is introduced to keep `ExecState::vm()` fast. But this limitation now becomes major obstacle to introduce IsoSubspace optimization, and this problem prevents us from putting all JSCells into IsoSubspace. This patch paves the way to putting all JSCells into IsoSubspace by removing the above restriction. * Modules/applepay/ApplePaySession.cpp: (WebCore::ApplePaySession::completeMerchantValidation): * Modules/applepay/ApplePaySession.h: * Modules/applepay/ApplePaySession.idl: * Modules/applepay/PaymentMerchantSession.h: * Modules/applepay/cocoa/PaymentMerchantSessionCocoa.mm: (WebCore::PaymentMerchantSession::fromJS): * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp: (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems const): (WebCore::toJSDictionary): (WebCore::ApplePayPaymentHandler::didAuthorizePayment): (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod): * Modules/async-clipboard/ClipboardItemBindingsDataSource.cpp: (WebCore::ClipboardItemBindingsDataSource::getType): * Modules/encryptedmedia/MediaKeyStatusMap.cpp: (WebCore::MediaKeyStatusMap::get): * Modules/encryptedmedia/MediaKeyStatusMap.h: * Modules/encryptedmedia/MediaKeyStatusMap.idl: * Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.cpp: (WebCore::CDMSessionClearKey::update): * Modules/fetch/FetchBody.idl: * Modules/fetch/FetchBodyOwner.cpp: (WebCore::FetchBodyOwner::readableStream): (WebCore::FetchBodyOwner::createReadableStream): * Modules/fetch/FetchBodyOwner.h: * Modules/fetch/FetchResponse.h: * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::update): (WebCore::IDBCursor::continuePrimaryKey): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::doOpenCursor): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doOpenKeyCursor): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::doGetAll): (WebCore::IDBIndex::getAll): (WebCore::IDBIndex::doGetAllKeys): (WebCore::IDBIndex::getAllKeys): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): (WebCore::IDBKeyRange::lowerBound): (WebCore::IDBKeyRange::upperBound): (WebCore::IDBKeyRange::bound): (WebCore::IDBKeyRange::includes): * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBKeyRange.idl: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::doOpenCursor): (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::doOpenKeyCursor): (WebCore::IDBObjectStore::openKeyCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::getKey): (WebCore::IDBObjectStore::add): (WebCore::IDBObjectStore::put): (WebCore::IDBObjectStore::putForCursorUpdate): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): (WebCore::IDBObjectStore::doGetAll): (WebCore::IDBObjectStore::getAll): (WebCore::IDBObjectStore::doGetAllKeys): (WebCore::IDBObjectStore::getAllKeys): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetAllObjectStoreRecords): (WebCore::IDBTransaction::requestGetAllIndexRecords): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * Modules/indexeddb/server/IDBSerializationContext.cpp: (WebCore::IDBServer::IDBSerializationContext::execState): * Modules/indexeddb/server/IDBSerializationContext.h: * Modules/mediastream/RTCPeerConnection.cpp: (WebCore::certificateTypeFromAlgorithmIdentifier): (WebCore::RTCPeerConnection::generateCertificate): * Modules/mediastream/RTCPeerConnection.h: * Modules/mediastream/RTCPeerConnection.idl: * Modules/paymentrequest/PaymentMethodChangeEvent.h: * Modules/paymentrequest/PaymentRequest.cpp: (WebCore::checkAndCanonicalizeDetails): * Modules/paymentrequest/PaymentResponse.h: * Modules/plugins/QuickTimePluginReplacement.mm: (WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): (WebCore::QuickTimePluginReplacement::installReplacement): (WebCore::JSQuickTimePluginReplacement::timedMetaData const): (WebCore::JSQuickTimePluginReplacement::accessLog const): (WebCore::JSQuickTimePluginReplacement::errorLog const): * Modules/webgpu/WebGPUDevice.cpp: (WebCore::WebGPUDevice::createBufferMapped const): * Modules/webgpu/WebGPUDevice.h: * Modules/webgpu/WebGPUDevice.idl: * animation/Animatable.idl: * animation/KeyframeEffect.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): (WebCore::KeyframeEffect::create): (WebCore::KeyframeEffect::getKeyframes): (WebCore::KeyframeEffect::setKeyframes): (WebCore::KeyframeEffect::processKeyframes): (WebCore::KeyframeEffect::animationDidSeek): * animation/KeyframeEffect.h: * animation/KeyframeEffect.idl: * bindings/js/DOMPromiseProxy.h: (WebCore::DOMPromiseProxy<IDLType>::promise): (WebCore::DOMPromiseProxy<IDLVoid>::promise): (WebCore::DOMPromiseProxyWithResolveCallback<IDLType>::promise): * bindings/js/DOMWrapperWorld.h: (WebCore::currentWorld): (WebCore::isWorldCompatible): * bindings/js/IDBBindingUtilities.cpp: (WebCore::get): (WebCore::set): (WebCore::toJS): (WebCore::createIDBKeyFromValue): (WebCore::getNthValueOnKeyPath): (WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::ensureNthValueOnKeyPath): (WebCore::canInjectNthValueOnKeyPath): (WebCore::injectIDBKeyIntoScriptValue): (WebCore::maybeCreateIDBKeyFromScriptValueAndKeyPath): (WebCore::canInjectIDBKeyIntoScriptValue): (WebCore::deserializeIDBValueToJSValue): (WebCore::scriptValueToIDBKey): (WebCore::createKeyPathArray): (WebCore::generateIndexKeyForValue): (WebCore::deserializeIDBValueWithKeyInjection): * bindings/js/IDBBindingUtilities.h: * bindings/js/JSAnimationEffectCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAnimationTimelineCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSAuthenticatorResponseCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBasicCredentialCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSBlobCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCSSRuleCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSCallbackData.cpp: (WebCore::JSCallbackData::invokeCallback): * bindings/js/JSCustomElementInterface.cpp: (WebCore::JSCustomElementInterface::tryToConstructCustomElement): (WebCore::constructCustomElementSynchronously): (WebCore::JSCustomElementInterface::upgradeElement): (WebCore::JSCustomElementInterface::invokeCallback): (WebCore::JSCustomElementInterface::invokeAdoptedCallback): (WebCore::JSCustomElementInterface::invokeAttributeChangedCallback): * bindings/js/JSCustomElementInterface.h: (WebCore::JSCustomElementInterface::invokeCallback): * bindings/js/JSCustomElementRegistryCustom.cpp: (WebCore::getCustomElementCallback): (WebCore::validateCustomElementNameAndThrowIfNeeded): (WebCore::JSCustomElementRegistry::define): (WebCore::whenDefinedPromise): (WebCore::JSCustomElementRegistry::whenDefined): * bindings/js/JSCustomEventCustom.cpp: (WebCore::JSCustomEvent::detail const): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMAbstractOperations.h: (WebCore::isVisibleNamedProperty): (WebCore::accessVisibleNamedProperty): * bindings/js/JSDOMAttribute.h: (WebCore::IDLAttribute::set): (WebCore::IDLAttribute::setStatic): (WebCore::IDLAttribute::get): (WebCore::IDLAttribute::getStatic): (WebCore::AttributeSetter::call): * bindings/js/JSDOMBindingSecurity.cpp: (WebCore::canAccessDocument): (WebCore::BindingSecurity::shouldAllowAccessToFrame): (WebCore::BindingSecurity::shouldAllowAccessToDOMWindow): (WebCore::BindingSecurity::shouldAllowAccessToNode): * bindings/js/JSDOMBindingSecurity.h: (WebCore::BindingSecurity::checkSecurityForNode): * bindings/js/JSDOMBuiltinConstructor.h: (WebCore::JSDOMBuiltinConstructor<JSClass>::callConstructor): (WebCore::JSDOMBuiltinConstructor<JSClass>::construct): * bindings/js/JSDOMBuiltinConstructorBase.cpp: (WebCore::JSDOMBuiltinConstructorBase::callFunctionWithCurrentArguments): * bindings/js/JSDOMBuiltinConstructorBase.h: * bindings/js/JSDOMConstructorBase.cpp: (WebCore::callThrowTypeError): (WebCore::JSDOMConstructorBase::toStringName): * bindings/js/JSDOMConstructorBase.h: * bindings/js/JSDOMConstructorNotConstructable.h: (WebCore::JSDOMConstructorNotConstructable::callThrowTypeError): * bindings/js/JSDOMConvertAny.h: (WebCore::Converter<IDLAny>::convert): (WebCore::VariadicConverter<IDLAny>::convert): * bindings/js/JSDOMConvertBase.h: (WebCore::DefaultExceptionThrower::operator()): (WebCore::convert): (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSDOMConvertBoolean.h: (WebCore::Converter<IDLBoolean>::convert): * bindings/js/JSDOMConvertBufferSource.h: (WebCore::toJS): (WebCore::Detail::BufferSourceConverter::convert): (WebCore::Converter<IDLArrayBuffer>::convert): (WebCore::JSConverter<IDLArrayBuffer>::convert): (WebCore::Converter<IDLDataView>::convert): (WebCore::JSConverter<IDLDataView>::convert): (WebCore::Converter<IDLInt8Array>::convert): (WebCore::JSConverter<IDLInt8Array>::convert): (WebCore::Converter<IDLInt16Array>::convert): (WebCore::JSConverter<IDLInt16Array>::convert): (WebCore::Converter<IDLInt32Array>::convert): (WebCore::JSConverter<IDLInt32Array>::convert): (WebCore::Converter<IDLUint8Array>::convert): (WebCore::JSConverter<IDLUint8Array>::convert): (WebCore::Converter<IDLUint16Array>::convert): (WebCore::JSConverter<IDLUint16Array>::convert): (WebCore::Converter<IDLUint32Array>::convert): (WebCore::JSConverter<IDLUint32Array>::convert): (WebCore::Converter<IDLUint8ClampedArray>::convert): (WebCore::JSConverter<IDLUint8ClampedArray>::convert): (WebCore::Converter<IDLFloat32Array>::convert): (WebCore::JSConverter<IDLFloat32Array>::convert): (WebCore::Converter<IDLFloat64Array>::convert): (WebCore::JSConverter<IDLFloat64Array>::convert): (WebCore::Converter<IDLArrayBufferView>::convert): (WebCore::JSConverter<IDLArrayBufferView>::convert): * bindings/js/JSDOMConvertCallbacks.h: (WebCore::Converter<IDLCallbackFunction<T>>::convert): (WebCore::Converter<IDLCallbackInterface<T>>::convert): * bindings/js/JSDOMConvertDate.cpp: (WebCore::jsDate): (WebCore::valueToDate): * bindings/js/JSDOMConvertDate.h: (WebCore::Converter<IDLDate>::convert): (WebCore::JSConverter<IDLDate>::convert): * bindings/js/JSDOMConvertDictionary.h: (WebCore::Converter<IDLDictionary<T>>::convert): (WebCore::JSConverter<IDLDictionary<T>>::convert): * bindings/js/JSDOMConvertEnumeration.h: (WebCore::Converter<IDLEnumeration<T>>::convert): (WebCore::JSConverter<IDLEnumeration<T>>::convert): * bindings/js/JSDOMConvertEventListener.h: (WebCore::Converter<IDLEventListener<T>>::convert): * bindings/js/JSDOMConvertIndexedDB.h: (WebCore::JSConverter<IDLIDBKey>::convert): (WebCore::JSConverter<IDLIDBKeyData>::convert): (WebCore::JSConverter<IDLIDBValue>::convert): * bindings/js/JSDOMConvertInterface.h: (WebCore::JSToWrappedOverloader::toWrapped): (WebCore::Converter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convert): (WebCore::JSConverter<IDLInterface<T>>::convertNewlyCreated): (WebCore::VariadicConverter<IDLInterface<T>>::convert): * bindings/js/JSDOMConvertJSON.h: (WebCore::Converter<IDLJSON>::convert): (WebCore::JSConverter<IDLJSON>::convert): * bindings/js/JSDOMConvertNull.h: (WebCore::Converter<IDLNull>::convert): * bindings/js/JSDOMConvertNullable.h: (WebCore::Converter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convert): (WebCore::JSConverter<IDLNullable<T>>::convertNewlyCreated): * bindings/js/JSDOMConvertNumbers.cpp: (WebCore::enforceRange): (WebCore::toSmallerInt): (WebCore::toSmallerUInt): (WebCore::convertToIntegerEnforceRange<int8_t>): (WebCore::convertToIntegerEnforceRange<uint8_t>): (WebCore::convertToIntegerClamp<int8_t>): (WebCore::convertToIntegerClamp<uint8_t>): (WebCore::convertToInteger<int8_t>): (WebCore::convertToInteger<uint8_t>): (WebCore::convertToIntegerEnforceRange<int16_t>): (WebCore::convertToIntegerEnforceRange<uint16_t>): (WebCore::convertToIntegerClamp<int16_t>): (WebCore::convertToIntegerClamp<uint16_t>): (WebCore::convertToInteger<int16_t>): (WebCore::convertToInteger<uint16_t>): (WebCore::convertToIntegerEnforceRange<int32_t>): (WebCore::convertToIntegerEnforceRange<uint32_t>): (WebCore::convertToIntegerClamp<int32_t>): (WebCore::convertToIntegerClamp<uint32_t>): (WebCore::convertToInteger<int32_t>): (WebCore::convertToInteger<uint32_t>): (WebCore::convertToIntegerEnforceRange<int64_t>): (WebCore::convertToIntegerEnforceRange<uint64_t>): (WebCore::convertToIntegerClamp<int64_t>): (WebCore::convertToIntegerClamp<uint64_t>): (WebCore::convertToInteger<int64_t>): (WebCore::convertToInteger<uint64_t>): * bindings/js/JSDOMConvertNumbers.h: (WebCore::Converter<IDLByte>::convert): (WebCore::Converter<IDLOctet>::convert): (WebCore::Converter<IDLShort>::convert): (WebCore::Converter<IDLUnsignedShort>::convert): (WebCore::Converter<IDLLong>::convert): (WebCore::Converter<IDLUnsignedLong>::convert): (WebCore::Converter<IDLLongLong>::convert): (WebCore::Converter<IDLUnsignedLongLong>::convert): (WebCore::Converter<IDLClampAdaptor<T>>::convert): (WebCore::Converter<IDLEnforceRangeAdaptor<T>>::convert): (WebCore::Converter<IDLFloat>::convert): (WebCore::Converter<IDLUnrestrictedFloat>::convert): (WebCore::Converter<IDLDouble>::convert): (WebCore::Converter<IDLUnrestrictedDouble>::convert): * bindings/js/JSDOMConvertObject.h: (WebCore::Converter<IDLObject>::convert): * bindings/js/JSDOMConvertPromise.h: (WebCore::Converter<IDLPromise<T>>::convert): (WebCore::JSConverter<IDLPromise<T>>::convert): * bindings/js/JSDOMConvertRecord.h: (WebCore::Detail::IdentifierConverter<IDLDOMString>::convert): (WebCore::Detail::IdentifierConverter<IDLByteString>::convert): (WebCore::Detail::IdentifierConverter<IDLUSVString>::convert): * bindings/js/JSDOMConvertScheduledAction.h: (WebCore::Converter<IDLScheduledAction>::convert): * bindings/js/JSDOMConvertSequences.h: (WebCore::Detail::GenericSequenceConverter::convert): (WebCore::Detail::NumericSequenceConverter::convertArray): (WebCore::Detail::NumericSequenceConverter::convert): (WebCore::Detail::SequenceConverter::convertArray): (WebCore::Detail::SequenceConverter::convert): (WebCore::Detail::SequenceConverter<IDLLong>::convert): (WebCore::Detail::SequenceConverter<IDLFloat>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedFloat>::convert): (WebCore::Detail::SequenceConverter<IDLDouble>::convert): (WebCore::Detail::SequenceConverter<IDLUnrestrictedDouble>::convert): (WebCore::Converter<IDLSequence<T>>::convert): (WebCore::JSConverter<IDLSequence<T>>::convert): (WebCore::Converter<IDLFrozenArray<T>>::convert): (WebCore::JSConverter<IDLFrozenArray<T>>::convert): * bindings/js/JSDOMConvertSerializedScriptValue.h: (WebCore::Converter<IDLSerializedScriptValue<T>>::convert): (WebCore::JSConverter<IDLSerializedScriptValue<T>>::convert): * bindings/js/JSDOMConvertStrings.cpp: (WebCore::stringToByteString): (WebCore::identifierToByteString): (WebCore::valueToByteString): (WebCore::identifierToUSVString): (WebCore::valueToUSVString): * bindings/js/JSDOMConvertStrings.h: (WebCore::Converter<IDLDOMString>::convert): (WebCore::JSConverter<IDLDOMString>::convert): (WebCore::Converter<IDLByteString>::convert): (WebCore::JSConverter<IDLByteString>::convert): (WebCore::Converter<IDLUSVString>::convert): (WebCore::JSConverter<IDLUSVString>::convert): (WebCore::Converter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::JSConverter<IDLTreatNullAsEmptyAdaptor<T>>::convert): (WebCore::Converter<IDLAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLAtomStringAdaptor<T>>::convert): (WebCore::Converter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): (WebCore::JSConverter<IDLRequiresExistingAtomStringAdaptor<T>>::convert): * bindings/js/JSDOMConvertUnion.h: * bindings/js/JSDOMConvertVariadic.h: (WebCore::VariadicConverter::convert): (WebCore::convertVariadicArguments): * bindings/js/JSDOMConvertWebGL.cpp: (WebCore::convertToJSValue): * bindings/js/JSDOMConvertWebGL.h: (WebCore::convertToJSValue): (WebCore::JSConverter<IDLWebGLAny>::convert): (WebCore::JSConverter<IDLWebGLExtension>::convert): * bindings/js/JSDOMConvertXPathNSResolver.h: (WebCore::Converter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convert): (WebCore::JSConverter<IDLXPathNSResolver<T>>::convertNewlyCreated): * bindings/js/JSDOMExceptionHandling.cpp: (WebCore::reportException): (WebCore::retrieveErrorMessage): (WebCore::reportCurrentException): (WebCore::createDOMException): (WebCore::propagateExceptionSlowPath): (WebCore::throwTypeError): (WebCore::throwNotSupportedError): (WebCore::throwInvalidStateError): (WebCore::throwSecurityError): (WebCore::throwArgumentMustBeEnumError): (WebCore::throwArgumentMustBeFunctionError): (WebCore::throwArgumentTypeError): (WebCore::throwAttributeTypeError): (WebCore::throwRequiredMemberTypeError): (WebCore::throwConstructorScriptExecutionContextUnavailableError): (WebCore::throwSequenceTypeError): (WebCore::throwNonFiniteTypeError): (WebCore::throwGetterTypeError): (WebCore::rejectPromiseWithGetterTypeError): (WebCore::throwSetterTypeError): (WebCore::throwThisTypeError): (WebCore::rejectPromiseWithThisTypeError): (WebCore::throwDOMSyntaxError): (WebCore::throwDataCloneError): * bindings/js/JSDOMExceptionHandling.h: (WebCore::propagateException): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::makeThisTypeErrorForBuiltins): (WebCore::makeGetterTypeErrorForBuiltins): (WebCore::JSDOMGlobalObject::promiseRejectionTracker): (WebCore::callerGlobalObject): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMGlobalObjectTask.cpp: * bindings/js/JSDOMIterator.cpp: (WebCore::addValueIterableMethods): * bindings/js/JSDOMIterator.h: (WebCore::jsPair): (WebCore::IteratorTraits>::asJS): (WebCore::appendForEachArguments): (WebCore::iteratorForEach): (WebCore::IteratorTraits>::next): * bindings/js/JSDOMMapLike.cpp: (WebCore::getBackingMap): (WebCore::createBackingMap): (WebCore::forwardAttributeGetterToBackingMap): (WebCore::forwardFunctionCallToBackingMap): (WebCore::forwardForEachCallToBackingMap): * bindings/js/JSDOMMapLike.h: (WebCore::DOMMapLike::set): (WebCore::synchronizeBackingMap): (WebCore::forwardSizeToMapLike): (WebCore::forwardEntriesToMapLike): (WebCore::forwardKeysToMapLike): (WebCore::forwardValuesToMapLike): (WebCore::forwardClearToMapLike): (WebCore::forwardForEachToMapLike): (WebCore::forwardGetToMapLike): (WebCore::forwardHasToMapLike): (WebCore::forwardAddToMapLike): (WebCore::forwardDeleteToMapLike): * bindings/js/JSDOMOperation.h: (WebCore::IDLOperation::call): (WebCore::IDLOperation::callStatic): * bindings/js/JSDOMOperationReturningPromise.h: (WebCore::IDLOperationReturningPromise::call): (WebCore::IDLOperationReturningPromise::callReturningOwnPromise): (WebCore::IDLOperationReturningPromise::callStatic): (WebCore::IDLOperationReturningPromise::callStaticReturningOwnPromise): * bindings/js/JSDOMPromise.cpp: (WebCore::callFunction): (WebCore::DOMPromise::whenPromiseIsSettled): (WebCore::DOMPromise::result const): (WebCore::DOMPromise::status const): * bindings/js/JSDOMPromiseDeferred.cpp: (WebCore::DeferredPromise::callFunction): (WebCore::DeferredPromise::reject): (WebCore::rejectPromiseWithExceptionIfAny): (WebCore::createDeferredPromise): (WebCore::createRejectedPromiseWithTypeError): (WebCore::parseAsJSON): (WebCore::fulfillPromiseWithJSON): (WebCore::fulfillPromiseWithArrayBuffer): * bindings/js/JSDOMPromiseDeferred.h: (WebCore::DeferredPromise::create): (WebCore::DeferredPromise::resolve): (WebCore::DeferredPromise::resolveWithNewlyCreated): (WebCore::DeferredPromise::resolveCallbackValueWithNewlyCreated): (WebCore::DeferredPromise::reject): (WebCore::DeferredPromise::resolveWithCallback): (WebCore::DeferredPromise::rejectWithCallback): (WebCore::callPromiseFunction): (WebCore::bindingPromiseFunctionAdapter): * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::updateDocument): (WebCore::shouldInterruptScriptToPreventInfiniteRecursionWhenClosingPage): (WebCore::toJS): (WebCore::incumbentDOMWindow): (WebCore::activeDOMWindow): (WebCore::firstDOMWindow): (WebCore::responsibleDocument): (WebCore::JSDOMWindowBase::moduleLoaderResolve): (WebCore::JSDOMWindowBase::moduleLoaderFetch): (WebCore::JSDOMWindowBase::moduleLoaderEvaluate): (WebCore::JSDOMWindowBase::moduleLoaderImportModule): (WebCore::JSDOMWindowBase::moduleLoaderCreateImportMetaProperties): (WebCore::tryAllocate): (WebCore::isResponseCorrect): (WebCore::handleResponseOnStreamingAction): (WebCore::JSDOMWindowBase::compileStreaming): (WebCore::JSDOMWindowBase::instantiateStreaming): * bindings/js/JSDOMWindowBase.h: (WebCore::toJS): * bindings/js/JSDOMWindowCustom.cpp: (WebCore::jsDOMWindowWebKit): (WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess): (WebCore::JSDOMWindow::getOwnPropertySlot): (WebCore::JSDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSDOMWindow::doPutPropertySecurityCheck): (WebCore::JSDOMWindow::put): (WebCore::JSDOMWindow::putByIndex): (WebCore::JSDOMWindow::deleteProperty): (WebCore::JSDOMWindow::deletePropertyByIndex): (WebCore::addCrossOriginOwnPropertyNames): (WebCore::addScopedChildrenIndexes): (WebCore::JSDOMWindow::getOwnPropertyNames): (WebCore::JSDOMWindow::defineOwnProperty): (WebCore::JSDOMWindow::getPrototype): (WebCore::JSDOMWindow::preventExtensions): (WebCore::JSDOMWindow::toStringName): (WebCore::JSDOMWindow::event const): (WebCore::DialogHandler::DialogHandler): (WebCore::DialogHandler::dialogCreated): (WebCore::DialogHandler::returnValue const): (WebCore::JSDOMWindow::showModalDialog): (WebCore::JSDOMWindow::queueMicrotask): (WebCore::JSDOMWindow::setOpener): (WebCore::JSDOMWindow::self const): (WebCore::JSDOMWindow::window const): (WebCore::JSDOMWindow::frames const): (WebCore::jsDOMWindowInstanceFunctionOpenDatabaseBody): (WebCore::IDLOperation<JSDOMWindow>::cast): (WebCore::jsDOMWindowInstanceFunctionOpenDatabase): (WebCore::JSDOMWindow::openDatabase const): (WebCore::JSDOMWindow::setOpenDatabase): * bindings/js/JSDOMWindowCustom.h: * bindings/js/JSDOMWindowProperties.cpp: (WebCore::jsDOMWindowPropertiesGetOwnPropertySlotNamedItemGetter): (WebCore::JSDOMWindowProperties::getOwnPropertySlot): (WebCore::JSDOMWindowProperties::getOwnPropertySlotByIndex): * bindings/js/JSDOMWindowProperties.h: * bindings/js/JSDOMWrapper.cpp: (WebCore::cloneAcrossWorlds): * bindings/js/JSDOMWrapper.h: * bindings/js/JSDOMWrapperCache.h: (WebCore::deprecatedGlobalObjectForPrototype): (WebCore::deprecatedGetDOMStructure): (WebCore::wrap): * bindings/js/JSDeprecatedCSSOMValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.cpp: (WebCore::createNewDocumentWrapper): (WebCore::cachedDocumentWrapper): (WebCore::reportMemoryForDocumentIfFrameless): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSDocumentCustom.h: * bindings/js/JSDocumentFragmentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSElementCustom.cpp: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSErrorHandler.h: (WebCore::createJSErrorHandler): * bindings/js/JSEventCustom.cpp: (WebCore::toJS): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): (WebCore::createEventListenerForEventHandlerAttribute): (WebCore::setEventHandlerAttribute): (WebCore::setWindowEventHandlerAttribute): (WebCore::setDocumentEventHandlerAttribute): * bindings/js/JSEventListener.h: * bindings/js/JSEventTargetCustom.h: (WebCore::IDLOperation<JSEventTarget>::call): * bindings/js/JSExecState.cpp: (WebCore::JSExecState::didLeaveScriptContext): (WebCore::functionCallHandlerFromAnyThread): (WebCore::evaluateHandlerFromAnyThread): * bindings/js/JSExecState.h: (WebCore::JSExecState::currentState): (WebCore::JSExecState::call): (WebCore::JSExecState::evaluate): (WebCore::JSExecState::profiledCall): (WebCore::JSExecState::profiledEvaluate): (WebCore::JSExecState::runTask): (WebCore::JSExecState::loadModule): (WebCore::JSExecState::linkAndEvaluateModule): (WebCore::JSExecState::JSExecState): (WebCore::JSExecState::~JSExecState): (WebCore::JSExecState::setCurrentState): * bindings/js/JSExtendableMessageEventCustom.cpp: (WebCore::constructJSExtendableMessageEvent): (WebCore::JSExtendableMessageEvent::data const): * bindings/js/JSFileSystemEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLCollectionCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSHTMLElementCustom.cpp: (WebCore::constructJSHTMLElement): (WebCore::JSHTMLElement::pushEventHandlerScope const): * bindings/js/JSHistoryCustom.cpp: (WebCore::JSHistory::state const): * bindings/js/JSIDBCursorCustom.cpp: (WebCore::JSIDBCursor::key const): (WebCore::JSIDBCursor::primaryKey const): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSIDBCursorWithValueCustom.cpp: (WebCore::JSIDBCursorWithValue::value const): * bindings/js/JSIDBRequestCustom.cpp: (WebCore::JSIDBRequest::result const): * bindings/js/JSImageDataCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::initializeJSFunction const): * bindings/js/JSLocationCustom.cpp: (WebCore::getOwnPropertySlotCommon): (WebCore::JSLocation::getOwnPropertySlot): (WebCore::JSLocation::getOwnPropertySlotByIndex): (WebCore::putCommon): (WebCore::JSLocation::doPutPropertySecurityCheck): (WebCore::JSLocation::put): (WebCore::JSLocation::putByIndex): (WebCore::JSLocation::deleteProperty): (WebCore::JSLocation::deletePropertyByIndex): (WebCore::JSLocation::getOwnPropertyNames): (WebCore::JSLocation::defineOwnProperty): (WebCore::JSLocation::getPrototype): (WebCore::JSLocation::preventExtensions): (WebCore::JSLocation::toStringName): (WebCore::JSLocationPrototype::put): (WebCore::JSLocationPrototype::defineOwnProperty): * bindings/js/JSMediaStreamTrackCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSMessageEventCustom.cpp: (WebCore::JSMessageEvent::ports const): (WebCore::JSMessageEvent::data const): * bindings/js/JSMicrotaskCallback.h: (WebCore::JSMicrotaskCallback::call): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::pushEventHandlerScope const): (WebCore::createWrapperInline): (WebCore::createWrapper): (WebCore::toJSNewlyCreated): (WebCore::willCreatePossiblyOrphanedTreeByRemovalSlowCase): * bindings/js/JSNodeCustom.h: (WebCore::toJS): (WebCore::JSNode::nodeType const): * bindings/js/JSNodeListCustom.cpp: (WebCore::toJSNewlyCreated): * bindings/js/JSNodeListCustom.h: (WebCore::toJS): * bindings/js/JSPaymentMethodChangeEventCustom.cpp: (WebCore::JSPaymentMethodChangeEvent::methodDetails const): * bindings/js/JSPaymentResponseCustom.cpp: (WebCore::JSPaymentResponse::details const): * bindings/js/JSPerformanceEntryCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSPluginElementFunctions.cpp: (WebCore::pluginScriptObject): (WebCore::pluginElementPropertyGetter): (WebCore::pluginElementCustomGetOwnPropertySlot): (WebCore::pluginElementCustomPut): (WebCore::callPlugin): * bindings/js/JSPluginElementFunctions.h: * bindings/js/JSPopStateEventCustom.cpp: (WebCore::JSPopStateEvent::state const): * bindings/js/JSReadableStreamSourceCustom.cpp: (WebCore::JSReadableStreamSource::start): (WebCore::JSReadableStreamSource::pull): (WebCore::JSReadableStreamSource::controller const): * bindings/js/JSRemoteDOMWindowCustom.cpp: (WebCore::JSRemoteDOMWindow::getOwnPropertySlot): (WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex): (WebCore::JSRemoteDOMWindow::put): (WebCore::JSRemoteDOMWindow::putByIndex): (WebCore::JSRemoteDOMWindow::deleteProperty): (WebCore::JSRemoteDOMWindow::deletePropertyByIndex): (WebCore::JSRemoteDOMWindow::getOwnPropertyNames): (WebCore::JSRemoteDOMWindow::defineOwnProperty): (WebCore::JSRemoteDOMWindow::getPrototype): (WebCore::JSRemoteDOMWindow::preventExtensions): (WebCore::JSRemoteDOMWindow::toStringName): * bindings/js/JSSVGPathSegCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSServiceWorkerClientCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTextTrackCueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSTrackCustom.cpp: (WebCore::toJS): * bindings/js/JSTrackCustom.h: * bindings/js/JSTypedOMCSSStyleValueCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSValueInWrappedObject.h: (WebCore::cachedPropertyValue): * bindings/js/JSWebAnimationCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): (WebCore::constructJSWebAnimation): * bindings/js/JSWindowProxy.cpp: (WebCore::toJS): * bindings/js/JSWindowProxy.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSWorkerGlobalScopeCustom.cpp: (WebCore::JSWorkerGlobalScope::queueMicrotask): * bindings/js/JSWorkletGlobalScopeBase.cpp: (WebCore::toJS): * bindings/js/JSWorkletGlobalScopeBase.h: (WebCore::toJS): * bindings/js/JSXMLDocumentCustom.cpp: (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::response const): * bindings/js/JSXPathNSResolverCustom.cpp: (WebCore::JSXPathNSResolver::toWrapped): * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): (WebCore::ReadableStreamInternal::callFunction): (WebCore::ReadableStream::pipeTo): (WebCore::ReadableStream::tee): (WebCore::ReadableStream::lock): (WebCore::checkReadableStream): (WebCore::ReadableStream::isDisturbed): * bindings/js/ReadableStream.h: (WebCore::JSReadableStreamWrapperConverter::toWrapped): (WebCore::toJS): * bindings/js/ReadableStreamDefaultController.cpp: (WebCore::readableStreamCallFunction): (WebCore::ReadableStreamDefaultController::invoke): * bindings/js/ReadableStreamDefaultController.h: (WebCore::ReadableStreamDefaultController::close): (WebCore::ReadableStreamDefaultController::error): (WebCore::ReadableStreamDefaultController::enqueue): (WebCore::ReadableStreamDefaultController::globalExec const): Deleted. * bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::executeFunctionInContext): * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::jsValueToModuleKey): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::canAccessFromCurrentOrigin): (WebCore::ScriptController::collectIsolatedContexts): (WebCore::ScriptController::jsObjectForPluginElement): (WebCore::ScriptController::executeIfJavaScriptURL): * bindings/js/ScriptController.h: * bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::javaScriptContext): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::resolve): (WebCore::rejectToPropagateNetworkError): (WebCore::ScriptModuleLoader::fetch): (WebCore::ScriptModuleLoader::moduleURL): (WebCore::ScriptModuleLoader::evaluate): (WebCore::rejectPromise): (WebCore::ScriptModuleLoader::importModule): (WebCore::ScriptModuleLoader::createImportMetaProperties): (WebCore::ScriptModuleLoader::notifyFinished): * bindings/js/ScriptModuleLoader.h: * bindings/js/ScriptState.cpp: (WebCore::domWindowFromExecState): (WebCore::frameFromExecState): (WebCore::scriptExecutionContextFromExecState): (WebCore::mainWorldExecState): (WebCore::execStateFromNode): (WebCore::execStateFromPage): (WebCore::execStateFromWorkerGlobalScope): (WebCore::execStateFromWorkletGlobalScope): * bindings/js/ScriptState.h: * bindings/js/SerializedScriptValue.cpp: (WebCore::CloneBase::CloneBase): (WebCore::CloneBase::shouldTerminate): (WebCore::wrapCryptoKey): (WebCore::unwrapCryptoKey): (WebCore::CloneSerializer::serialize): (WebCore::CloneSerializer::CloneSerializer): (WebCore::CloneSerializer::fillTransferMap): (WebCore::CloneSerializer::getProperty): (WebCore::CloneSerializer::toJSArrayBuffer): (WebCore::CloneSerializer::dumpArrayBufferView): (WebCore::CloneSerializer::dumpDOMPoint): (WebCore::CloneSerializer::dumpDOMRect): (WebCore::CloneSerializer::dumpDOMMatrix): (WebCore::CloneSerializer::dumpIfTerminal): (WebCore::CloneSerializer::write): (WebCore::CloneDeserializer::deserialize): (WebCore::CloneDeserializer::CachedString::jsString): (WebCore::CloneDeserializer::CloneDeserializer): (WebCore::CloneDeserializer::putProperty): (WebCore::CloneDeserializer::readArrayBufferView): (WebCore::CloneDeserializer::getJSValue): (WebCore::CloneDeserializer::readDOMPoint): (WebCore::CloneDeserializer::readDOMMatrix): (WebCore::CloneDeserializer::readDOMRect): (WebCore::CloneDeserializer::readDOMQuad): (WebCore::CloneDeserializer::readRTCCertificate): (WebCore::CloneDeserializer::readTerminal): (WebCore::maybeThrowExceptionIfSerializationFailed): (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::deserialize): * bindings/js/SerializedScriptValue.h: * bindings/js/StructuredClone.cpp: (WebCore::cloneArrayBufferImpl): (WebCore::structuredCloneArrayBufferView): * bindings/js/StructuredClone.h: * bindings/js/WebCoreTypedArrayController.cpp: (WebCore::WebCoreTypedArrayController::toJS): * bindings/js/WebCoreTypedArrayController.h: * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): (WebCore::WorkerScriptController::setException): (WebCore::WorkerScriptController::scheduleExecutionTermination): (WebCore::WorkerScriptController::attachDebugger): (WebCore::WorkerScriptController::detachDebugger): * bindings/scripts/CodeGeneratorJS.pm: (GenerateGetOwnPropertySlot): (GenerateGetOwnPropertySlotByIndex): (GenerateGetOwnPropertyNames): (GenerateInvokeIndexedPropertySetter): (GenerateInvokeNamedPropertySetter): (GeneratePut): (GeneratePutByIndex): (GenerateDefineOwnProperty): (GenerateDeletePropertyCommon): (GenerateDeleteProperty): (GenerateDeletePropertyByIndex): (GetArgumentExceptionFunction): (GetArgumentExceptionThrower): (GetAttributeExceptionFunction): (GetAttributeExceptionThrower): (AddAdditionalArgumentsForImplementationCall): (GenerateEnumerationImplementationContent): (GenerateEnumerationHeaderContent): (GenerateDefaultValue): (GenerateDictionaryHeaderContent): (GenerateDictionaryImplementationContent): (GenerateHeader): (GenerateOverloadDispatcher): (addUnscopableProperties): (GenerateImplementation): (GenerateAttributeGetterBodyDefinition): (GenerateAttributeGetterTrampolineDefinition): (GenerateAttributeSetterBodyDefinition): (GenerateAttributeSetterTrampolineDefinition): (GenerateOperationTrampolineDefinition): (GenerateOperationBodyDefinition): (GenerateOperationDefinition): (GenerateSerializerDefinition): (GenerateLegacyCallerDefinitions): (GenerateLegacyCallerDefinition): (GenerateCallWithUsingReferences): (GenerateCallWithUsingPointers): (GenerateConstructorCallWithUsingPointers): (GenerateCallWith): (GenerateArgumentsCountCheck): (GenerateParametersCheck): (GenerateCallbackImplementationContent): (GenerateImplementationFunctionCall): (GenerateImplementationCustomFunctionCall): (GenerateIterableDefinition): (JSValueToNative): (ToNativeForFunctionWithoutTypeCheck): (NativeToJSValueDOMConvertNeedsState): (NativeToJSValueDOMConvertNeedsGlobalObject): (NativeToJSValueUsingReferences): (NativeToJSValueUsingPointers): (NativeToJSValue): (GeneratePrototypeDeclaration): (GenerateConstructorDefinitions): (GenerateConstructorDefinition): (GenerateConstructorHelperMethods): * bindings/scripts/test/JS/JSInterfaceName.cpp: (WebCore::jsInterfaceNameConstructor): (WebCore::setJSInterfaceNameConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSInterfaceName.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSMapLike.cpp: (WebCore::JSMapLike::finishCreation): (WebCore::IDLAttribute<JSMapLike>::cast): (WebCore::IDLOperation<JSMapLike>::cast): (WebCore::jsMapLikeConstructor): (WebCore::setJSMapLikeConstructor): (WebCore::jsMapLikeSizeGetter): (WebCore::jsMapLikeSize): (WebCore::jsMapLikePrototypeFunctionGetBody): (WebCore::jsMapLikePrototypeFunctionGet): (WebCore::jsMapLikePrototypeFunctionHasBody): (WebCore::jsMapLikePrototypeFunctionHas): (WebCore::jsMapLikePrototypeFunctionEntriesBody): (WebCore::jsMapLikePrototypeFunctionEntries): (WebCore::jsMapLikePrototypeFunctionKeysBody): (WebCore::jsMapLikePrototypeFunctionKeys): (WebCore::jsMapLikePrototypeFunctionValuesBody): (WebCore::jsMapLikePrototypeFunctionValues): (WebCore::jsMapLikePrototypeFunctionForEachBody): (WebCore::jsMapLikePrototypeFunctionForEach): (WebCore::jsMapLikePrototypeFunctionAddBody): (WebCore::jsMapLikePrototypeFunctionAdd): (WebCore::jsMapLikePrototypeFunctionClearBody): (WebCore::jsMapLikePrototypeFunctionClear): (WebCore::jsMapLikePrototypeFunctionDeleteBody): (WebCore::jsMapLikePrototypeFunctionDelete): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSReadOnlyMapLike.cpp: (WebCore::JSReadOnlyMapLike::finishCreation): (WebCore::IDLAttribute<JSReadOnlyMapLike>::cast): (WebCore::IDLOperation<JSReadOnlyMapLike>::cast): (WebCore::jsReadOnlyMapLikeConstructor): (WebCore::setJSReadOnlyMapLikeConstructor): (WebCore::jsReadOnlyMapLikeSizeGetter): (WebCore::jsReadOnlyMapLikeSize): (WebCore::jsReadOnlyMapLikePrototypeFunctionGetBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionGet): (WebCore::jsReadOnlyMapLikePrototypeFunctionHasBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionHas): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntriesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionEntries): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeysBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionKeys): (WebCore::jsReadOnlyMapLikePrototypeFunctionValuesBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionValues): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEachBody): (WebCore::jsReadOnlyMapLikePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSReadOnlyMapLike.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: (WebCore::IDLAttribute<JSTestActiveDOMObject>::cast): (WebCore::IDLOperation<JSTestActiveDOMObject>::cast): (WebCore::jsTestActiveDOMObjectConstructor): (WebCore::setJSTestActiveDOMObjectConstructor): (WebCore::jsTestActiveDOMObjectExcitingAttrGetter): (WebCore::jsTestActiveDOMObjectExcitingAttr): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunctionBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessageBody): (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestActiveDOMObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactions.cpp: (WebCore::IDLAttribute<JSTestCEReactions>::cast): (WebCore::IDLOperation<JSTestCEReactions>::cast): (WebCore::jsTestCEReactionsConstructor): (WebCore::setJSTestCEReactionsConstructor): (WebCore::jsTestCEReactionsAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactions): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactions): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactions): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactions): (WebCore::jsTestCEReactionsStringifierAttributeGetter): (WebCore::jsTestCEReactionsStringifierAttribute): (WebCore::setJSTestCEReactionsStringifierAttributeSetter): (WebCore::setJSTestCEReactionsStringifierAttribute): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeededGetter): (WebCore::jsTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeededSetter): (WebCore::setJSTestCEReactionsReflectAttributeWithCEReactionsNotNeeded): (WebCore::jsTestCEReactionsStringifierAttributeNotNeededGetter): (WebCore::jsTestCEReactionsStringifierAttributeNotNeeded): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeededSetter): (WebCore::setJSTestCEReactionsStringifierAttributeNotNeeded): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactions): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeededBody): (WebCore::jsTestCEReactionsPrototypeFunctionMethodWithCEReactionsNotNeeded): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactions.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp: (WebCore::IDLAttribute<JSTestCEReactionsStringifier>::cast): (WebCore::IDLOperation<JSTestCEReactionsStringifier>::cast): (WebCore::jsTestCEReactionsStringifierConstructor): (WebCore::setJSTestCEReactionsStringifierConstructor): (WebCore::jsTestCEReactionsStringifierValueGetter): (WebCore::jsTestCEReactionsStringifierValue): (WebCore::setJSTestCEReactionsStringifierValueSetter): (WebCore::setJSTestCEReactionsStringifierValue): (WebCore::jsTestCEReactionsStringifierValueWithoutReactionsGetter): (WebCore::jsTestCEReactionsStringifierValueWithoutReactions): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactionsSetter): (WebCore::setJSTestCEReactionsStringifierValueWithoutReactions): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToStringBody): (WebCore::jsTestCEReactionsStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCEReactionsStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallTracer.cpp: (WebCore::IDLAttribute<JSTestCallTracer>::cast): (WebCore::IDLOperation<JSTestCallTracer>::cast): (WebCore::jsTestCallTracerConstructor): (WebCore::setJSTestCallTracerConstructor): (WebCore::jsTestCallTracerTestAttributeInterfaceGetter): (WebCore::jsTestCallTracerTestAttributeInterface): (WebCore::setJSTestCallTracerTestAttributeInterfaceSetter): (WebCore::setJSTestCallTracerTestAttributeInterface): (WebCore::jsTestCallTracerTestAttributeSpecifiedGetter): (WebCore::jsTestCallTracerTestAttributeSpecified): (WebCore::setJSTestCallTracerTestAttributeSpecifiedSetter): (WebCore::setJSTestCallTracerTestAttributeSpecified): (WebCore::jsTestCallTracerTestAttributeWithVariantGetter): (WebCore::jsTestCallTracerTestAttributeWithVariant): (WebCore::setJSTestCallTracerTestAttributeWithVariantSetter): (WebCore::setJSTestCallTracerTestAttributeWithVariant): (WebCore::jsTestCallTracerTestReadonlyAttributeGetter): (WebCore::jsTestCallTracerTestReadonlyAttribute): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterfaceBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationInterface): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecifiedBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationSpecified): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArgumentsBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithArguments): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithNullableVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithOptionalVariantArgument): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgumentBody): (WebCore::jsTestCallTracerPrototypeFunctionTestOperationWithDefaultVariantArgument): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestCallTracer.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestCallbackFunction.cpp: (WebCore::JSTestCallbackFunction::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: (WebCore::JSTestCallbackFunctionRethrow::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithThisObject.cpp: (WebCore::JSTestCallbackFunctionWithThisObject::handleEvent): * bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp: (WebCore::JSTestCallbackFunctionWithTypedefs::handleEvent): * bindings/scripts/test/JS/JSTestCallbackInterface.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestCallbackInterface::Enum>): (WebCore::convertDictionary<TestCallbackInterface::Dictionary>): (WebCore::JSTestCallbackInterface::callbackWithNoParam): (WebCore::JSTestCallbackInterface::callbackWithArrayParam): (WebCore::JSTestCallbackInterface::callbackWithSerializedScriptValueParam): (WebCore::JSTestCallbackInterface::callbackWithStringList): (WebCore::JSTestCallbackInterface::callbackWithBoolean): (WebCore::JSTestCallbackInterface::callbackRequiresThisToPass): (WebCore::JSTestCallbackInterface::callbackWithAReturnValue): (WebCore::JSTestCallbackInterface::callbackThatRethrowsExceptions): (WebCore::JSTestCallbackInterface::callbackThatSkipsInvokeCheck): (WebCore::JSTestCallbackInterface::callbackWithThisObject): * bindings/scripts/test/JS/JSTestCallbackInterface.h: * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp: (WebCore::jsTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestClassWithJSBuiltinConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestDOMJIT.cpp: (WebCore::IDLAttribute<JSTestDOMJIT>::cast): (WebCore::IDLOperation<JSTestDOMJIT>::cast): (WebCore::jsTestDOMJITConstructor): (WebCore::setJSTestDOMJITConstructor): (WebCore::jsTestDOMJITAnyAttrGetter): (WebCore::jsTestDOMJITAnyAttr): (WebCore::jsTestDOMJITBooleanAttrGetter): (WebCore::jsTestDOMJITBooleanAttr): (WebCore::jsTestDOMJITByteAttrGetter): (WebCore::jsTestDOMJITByteAttr): (WebCore::jsTestDOMJITOctetAttrGetter): (WebCore::jsTestDOMJITOctetAttr): (WebCore::jsTestDOMJITShortAttrGetter): (WebCore::jsTestDOMJITShortAttr): (WebCore::jsTestDOMJITUnsignedShortAttrGetter): (WebCore::jsTestDOMJITUnsignedShortAttr): (WebCore::jsTestDOMJITLongAttrGetter): (WebCore::jsTestDOMJITLongAttr): (WebCore::jsTestDOMJITUnsignedLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongAttr): (WebCore::jsTestDOMJITLongLongAttrGetter): (WebCore::jsTestDOMJITLongLongAttr): (WebCore::jsTestDOMJITUnsignedLongLongAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongAttr): (WebCore::jsTestDOMJITFloatAttrGetter): (WebCore::jsTestDOMJITFloatAttr): (WebCore::jsTestDOMJITUnrestrictedFloatAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatAttr): (WebCore::jsTestDOMJITDoubleAttrGetter): (WebCore::jsTestDOMJITDoubleAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleAttr): (WebCore::jsTestDOMJITDomStringAttrGetter): (WebCore::jsTestDOMJITDomStringAttr): (WebCore::jsTestDOMJITByteStringAttrGetter): (WebCore::jsTestDOMJITByteStringAttr): (WebCore::jsTestDOMJITUsvStringAttrGetter): (WebCore::jsTestDOMJITUsvStringAttr): (WebCore::jsTestDOMJITNodeAttrGetter): (WebCore::jsTestDOMJITNodeAttr): (WebCore::jsTestDOMJITBooleanNullableAttrGetter): (WebCore::jsTestDOMJITBooleanNullableAttr): (WebCore::jsTestDOMJITByteNullableAttrGetter): (WebCore::jsTestDOMJITByteNullableAttr): (WebCore::jsTestDOMJITOctetNullableAttrGetter): (WebCore::jsTestDOMJITOctetNullableAttr): (WebCore::jsTestDOMJITShortNullableAttrGetter): (WebCore::jsTestDOMJITShortNullableAttr): (WebCore::jsTestDOMJITUnsignedShortNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedShortNullableAttr): (WebCore::jsTestDOMJITLongNullableAttrGetter): (WebCore::jsTestDOMJITLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongNullableAttr): (WebCore::jsTestDOMJITLongLongNullableAttrGetter): (WebCore::jsTestDOMJITLongLongNullableAttr): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttrGetter): (WebCore::jsTestDOMJITUnsignedLongLongNullableAttr): (WebCore::jsTestDOMJITFloatNullableAttrGetter): (WebCore::jsTestDOMJITFloatNullableAttr): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedFloatNullableAttr): (WebCore::jsTestDOMJITDoubleNullableAttrGetter): (WebCore::jsTestDOMJITDoubleNullableAttr): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttrGetter): (WebCore::jsTestDOMJITUnrestrictedDoubleNullableAttr): (WebCore::jsTestDOMJITDomStringNullableAttrGetter): (WebCore::jsTestDOMJITDomStringNullableAttr): (WebCore::jsTestDOMJITByteStringNullableAttrGetter): (WebCore::jsTestDOMJITByteStringNullableAttr): (WebCore::jsTestDOMJITUsvStringNullableAttrGetter): (WebCore::jsTestDOMJITUsvStringNullableAttr): (WebCore::jsTestDOMJITNodeNullableAttrGetter): (WebCore::jsTestDOMJITNodeNullableAttr): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionGetAttribute): (WebCore::jsTestDOMJITPrototypeFunctionGetAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionItemBody): (WebCore::jsTestDOMJITPrototypeFunctionItem): (WebCore::jsTestDOMJITPrototypeFunctionItemWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeBody): (WebCore::jsTestDOMJITPrototypeFunctionHasAttribute): (WebCore::jsTestDOMJITPrototypeFunctionHasAttributeWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementById): (WebCore::jsTestDOMJITPrototypeFunctionGetElementByIdWithoutTypeCheck): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameBody): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByName): (WebCore::jsTestDOMJITPrototypeFunctionGetElementsByNameWithoutTypeCheck): * bindings/scripts/test/JS/JSTestDerivedDictionary.cpp: (WebCore::convertDictionary<TestDerivedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestDerivedDictionary.h: * bindings/scripts/test/JS/JSTestEnabledBySetting.cpp: (WebCore::JSTestEnabledBySettingPrototype::finishCreation): (WebCore::IDLAttribute<JSTestEnabledBySetting>::cast): (WebCore::IDLOperation<JSTestEnabledBySetting>::cast): (WebCore::jsTestEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructorGetter): (WebCore::jsTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructorSetter): (WebCore::setJSTestEnabledBySettingTestSubObjEnabledBySettingConstructor): (WebCore::jsTestEnabledBySettingEnabledBySettingAttributeGetter): (WebCore::jsTestEnabledBySettingEnabledBySettingAttribute): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttributeSetter): (WebCore::setJSTestEnabledBySettingEnabledBySettingAttribute): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperationBody): (WebCore::jsTestEnabledBySettingPrototypeFunctionEnabledBySettingOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledBySetting.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEnabledForContext.cpp: (WebCore::IDLAttribute<JSTestEnabledForContext>::cast): (WebCore::jsTestEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextConstructor): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructorGetter): (WebCore::jsTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructorSetter): (WebCore::setJSTestEnabledForContextTestSubObjEnabledForContextConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEnabledForContext.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventConstructor.cpp: (WebCore::convertDictionary<TestEventConstructor::Init>): (WebCore::JSTestEventConstructorConstructor::construct): (WebCore::IDLAttribute<JSTestEventConstructor>::cast): (WebCore::jsTestEventConstructorConstructor): (WebCore::setJSTestEventConstructorConstructor): (WebCore::jsTestEventConstructorAttr1Getter): (WebCore::jsTestEventConstructorAttr1): (WebCore::jsTestEventConstructorAttr2Getter): (WebCore::jsTestEventConstructorAttr2): (WebCore::jsTestEventConstructorAttr3Getter): (WebCore::jsTestEventConstructorAttr3): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestEventTarget.cpp: (WebCore::JSTestEventTarget::getOwnPropertySlot): (WebCore::JSTestEventTarget::getOwnPropertySlotByIndex): (WebCore::JSTestEventTarget::getOwnPropertyNames): (WebCore::IDLOperation<JSTestEventTarget>::cast): (WebCore::jsTestEventTargetConstructor): (WebCore::setJSTestEventTargetConstructor): (WebCore::jsTestEventTargetPrototypeFunctionItemBody): (WebCore::jsTestEventTargetPrototypeFunctionItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestEventTarget.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestException.cpp: (WebCore::IDLAttribute<JSTestException>::cast): (WebCore::jsTestExceptionConstructor): (WebCore::setJSTestExceptionConstructor): (WebCore::jsTestExceptionNameGetter): (WebCore::jsTestExceptionName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: (WebCore::JSTestGenerateIsReachablePrototype::finishCreation): (WebCore::IDLAttribute<JSTestGenerateIsReachable>::cast): (WebCore::jsTestGenerateIsReachableConstructor): (WebCore::setJSTestGenerateIsReachableConstructor): (WebCore::jsTestGenerateIsReachableASecretAttributeGetter): (WebCore::jsTestGenerateIsReachableASecretAttribute): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGenerateIsReachable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestGlobalObject.cpp: (WebCore::IDLAttribute<JSTestGlobalObject>::cast): (WebCore::IDLOperation<JSTestGlobalObject>::cast): (WebCore::jsTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectRegularAttributeGetter): (WebCore::jsTestGlobalObjectRegularAttribute): (WebCore::setJSTestGlobalObjectRegularAttributeSetter): (WebCore::setJSTestGlobalObjectRegularAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttributeGetter): (WebCore::jsTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttributeSetter): (WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttributeGetter): (WebCore::jsTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute): (WebCore::jsTestGlobalObjectTestCEReactionsConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsConstructor): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestCEReactionsStringifierConstructor): (WebCore::jsTestGlobalObjectTestCallTracerConstructorGetter): (WebCore::jsTestGlobalObjectTestCallTracerConstructor): (WebCore::setJSTestGlobalObjectTestCallTracerConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallTracerConstructor): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestCallbackInterfaceConstructor): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestClassWithJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestDOMJITConstructorGetter): (WebCore::jsTestGlobalObjectTestDOMJITConstructor): (WebCore::setJSTestGlobalObjectTestDOMJITConstructorSetter): (WebCore::setJSTestGlobalObjectTestDOMJITConstructor): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructorGetter): (WebCore::jsTestGlobalObjectTestDomainSecurityConstructor): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructorSetter): (WebCore::setJSTestGlobalObjectTestDomainSecurityConstructor): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledBySettingConstructor): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructorGetter): (WebCore::jsTestGlobalObjectTestEnabledForContextConstructor): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructorSetter): (WebCore::setJSTestGlobalObjectTestEnabledForContextConstructor): (WebCore::jsTestGlobalObjectTestEventConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestEventConstructorConstructor): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventConstructorConstructor): (WebCore::jsTestGlobalObjectTestEventTargetConstructorGetter): (WebCore::jsTestGlobalObjectTestEventTargetConstructor): (WebCore::setJSTestGlobalObjectTestEventTargetConstructorSetter): (WebCore::setJSTestGlobalObjectTestEventTargetConstructor): (WebCore::jsTestGlobalObjectTestExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestExceptionConstructor): (WebCore::setJSTestGlobalObjectTestExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestExceptionConstructor): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructorGetter): (WebCore::jsTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructorSetter): (WebCore::setJSTestGlobalObjectTestGenerateIsReachableConstructor): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructorGetter): (WebCore::jsTestGlobalObjectTestGlobalObjectConstructor): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructorSetter): (WebCore::setJSTestGlobalObjectTestGlobalObjectConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceConstructor): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorGetter): (WebCore::jsTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructorSetter): (WebCore::setJSTestGlobalObjectTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestGlobalObjectTestIterableConstructorGetter): (WebCore::jsTestGlobalObjectTestIterableConstructor): (WebCore::setJSTestGlobalObjectTestIterableConstructorSetter): (WebCore::setJSTestGlobalObjectTestIterableConstructor): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestJSBuiltinConstructorConstructor): (WebCore::jsTestGlobalObjectTestMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestMapLikeConstructor): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructorGetter): (WebCore::jsTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructorSetter): (WebCore::setJSTestGlobalObjectTestMediaQueryListListenerConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedConstructorConstructor): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedConstructorConstructor): (WebCore::jsTestGlobalObjectAudioConstructorGetter): (WebCore::jsTestGlobalObjectAudioConstructor): (WebCore::setJSTestGlobalObjectAudioConstructorSetter): (WebCore::setJSTestGlobalObjectAudioConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedDeleterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterCallWithConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterNoIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterThrowingExceptionConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsConstructor): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorGetter): (WebCore::jsTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverloadedConstructorsWithSequenceConstructor): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructorGetter): (WebCore::jsTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructorSetter): (WebCore::setJSTestGlobalObjectTestOverrideBuiltinsConstructor): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestPluginInterfaceConstructor): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructorGetter): (WebCore::jsTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructorSetter): (WebCore::setJSTestGlobalObjectTestReadOnlyMapLikeConstructor): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructorGetter): (WebCore::jsTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructorSetter): (WebCore::setJSTestGlobalObjectTestReportExtraMemoryCostConstructor): (WebCore::jsTestGlobalObjectTestSerializationConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationConstructor): (WebCore::setJSTestGlobalObjectTestSerializationConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationConstructor): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationIndirectInheritanceConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritConstructor): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializationInheritFinalConstructor): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructorGetter): (WebCore::jsTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructorSetter): (WebCore::setJSTestGlobalObjectTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestGlobalObjectTestStringifierConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierConstructor): (WebCore::setJSTestGlobalObjectTestStringifierConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierConstructor): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierAnonymousOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierNamedOperationConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructorGetter): (WebCore::jsTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructorSetter): (WebCore::setJSTestGlobalObjectTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestGlobalObjectTestTypedefsConstructorGetter): (WebCore::jsTestGlobalObjectTestTypedefsConstructor): (WebCore::setJSTestGlobalObjectTestTypedefsConstructorSetter): (WebCore::setJSTestGlobalObjectTestTypedefsConstructor): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperationBody): (WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorld): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabledBody): (WebCore::jsTestGlobalObjectInstanceFunctionEnabledInSpecificWorldWhenRuntimeFeaturesEnabled): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunctionBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResultBody): (WebCore::jsTestGlobalObjectInstanceFunctionCalculateSecretResult): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionGetSecretBoolean): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestGlobalObjectInstanceFunctionTestFeatureGetSecretBoolean): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestGlobalObject.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp: (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterNoIdentifier::put): (WebCore::JSTestIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp: (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestIndexedSetterThrowingException::put): (WebCore::JSTestIndexedSetterThrowingException::putByIndex): (WebCore::JSTestIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp: (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestIndexedSetterWithIdentifier::put): (WebCore::JSTestIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestIndexedSetterWithIdentifier>::cast): (WebCore::jsTestIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestIndexedSetterWithIdentifierConstructor): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInheritedDictionary.cpp: (WebCore::convertDictionary<TestInheritedDictionary>): (WebCore::convertDictionaryToJS): * bindings/scripts/test/JS/JSTestInheritedDictionary.h: * bindings/scripts/test/JS/JSTestInterface.cpp: (WebCore::JSTestInterfaceConstructor::construct): (WebCore::IDLAttribute<JSTestInterface>::cast): (WebCore::IDLOperation<JSTestInterface>::cast): (WebCore::jsTestInterfaceConstructor): (WebCore::setJSTestInterfaceConstructor): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorImplementsStaticAttrGetter): (WebCore::jsTestInterfaceConstructorImplementsStaticAttr): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorImplementsStaticAttr): (WebCore::jsTestInterfaceImplementsStr1Getter): (WebCore::jsTestInterfaceImplementsStr1): (WebCore::jsTestInterfaceImplementsStr2Getter): (WebCore::jsTestInterfaceImplementsStr2): (WebCore::setJSTestInterfaceImplementsStr2Setter): (WebCore::setJSTestInterfaceImplementsStr2): (WebCore::jsTestInterfaceImplementsStr3Getter): (WebCore::jsTestInterfaceImplementsStr3): (WebCore::setJSTestInterfaceImplementsStr3Setter): (WebCore::setJSTestInterfaceImplementsStr3): (WebCore::jsTestInterfaceImplementsNodeGetter): (WebCore::jsTestInterfaceImplementsNode): (WebCore::setJSTestInterfaceImplementsNodeSetter): (WebCore::setJSTestInterfaceImplementsNode): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttrGetter): (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttrSetter): (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): (WebCore::jsTestInterfaceSupplementalStr1Getter): (WebCore::jsTestInterfaceSupplementalStr1): (WebCore::jsTestInterfaceSupplementalStr2Getter): (WebCore::jsTestInterfaceSupplementalStr2): (WebCore::setJSTestInterfaceSupplementalStr2Setter): (WebCore::setJSTestInterfaceSupplementalStr2): (WebCore::jsTestInterfaceSupplementalStr3Getter): (WebCore::jsTestInterfaceSupplementalStr3): (WebCore::setJSTestInterfaceSupplementalStr3Setter): (WebCore::setJSTestInterfaceSupplementalStr3): (WebCore::jsTestInterfaceSupplementalNodeGetter): (WebCore::jsTestInterfaceSupplementalNode): (WebCore::setJSTestInterfaceSupplementalNodeSetter): (WebCore::setJSTestInterfaceSupplementalNode): (WebCore::jsTestInterfaceReflectAttributeGetter): (WebCore::jsTestInterfaceReflectAttribute): (WebCore::setJSTestInterfaceReflectAttributeSetter): (WebCore::setJSTestInterfaceReflectAttribute): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionImplementsMethod4): (WebCore::jsTestInterfacePrototypeFunctionTakeNodesBody): (WebCore::jsTestInterfacePrototypeFunctionTakeNodes): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3Body): (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4Body): (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp: (WebCore::IDLAttribute<JSTestInterfaceLeadingUnderscore>::cast): (WebCore::jsTestInterfaceLeadingUnderscoreConstructor): (WebCore::setJSTestInterfaceLeadingUnderscoreConstructor): (WebCore::jsTestInterfaceLeadingUnderscoreReadonlyGetter): (WebCore::jsTestInterfaceLeadingUnderscoreReadonly): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestIterable.cpp: (WebCore::IDLOperation<JSTestIterable>::cast): (WebCore::jsTestIterableConstructor): (WebCore::setJSTestIterableConstructor): (WebCore::jsTestIterablePrototypeFunctionEntriesCaller): (WebCore::jsTestIterablePrototypeFunctionEntries): (WebCore::jsTestIterablePrototypeFunctionKeysCaller): (WebCore::jsTestIterablePrototypeFunctionKeys): (WebCore::jsTestIterablePrototypeFunctionValuesCaller): (WebCore::jsTestIterablePrototypeFunctionValues): (WebCore::jsTestIterablePrototypeFunctionForEachCaller): (WebCore::jsTestIterablePrototypeFunctionForEach): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestIterable.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp: (WebCore::IDLAttribute<JSTestJSBuiltinConstructor>::cast): (WebCore::IDLOperation<JSTestJSBuiltinConstructor>::cast): (WebCore::jsTestJSBuiltinConstructorConstructor): (WebCore::setJSTestJSBuiltinConstructorConstructor): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeCustom): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustomGetter): (WebCore::jsTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustomSetter): (WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunctionBody): (WebCore::jsTestJSBuiltinConstructorPrototypeFunctionTestCustomFunction): * bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h: * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: (WebCore::IDLOperation<JSTestMediaQueryListListener>::cast): (WebCore::jsTestMediaQueryListListenerConstructor): (WebCore::setJSTestMediaQueryListListenerConstructor): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethodBody): (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp: (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterThrowingException::put): (WebCore::JSTestNamedAndIndexedSetterThrowingException::putByIndex): (WebCore::JSTestNamedAndIndexedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedAndIndexedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp: (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::put): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedAndIndexedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedAndIndexedSetterWithIdentifier>::cast): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedAndIndexedSetterWithIdentifierConstructor): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedAndIndexedSetterWithIdentifierPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: (WebCore::JSTestNamedConstructorNamedConstructor::construct): (WebCore::jsTestNamedConstructorConstructor): (WebCore::setJSTestNamedConstructorConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedConstructor.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp: (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterNoIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterNoIdentifier::deletePropertyByIndex): (WebCore::jsTestNamedDeleterNoIdentifierConstructor): (WebCore::setJSTestNamedDeleterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp: (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedDeleterThrowingException::deleteProperty): (WebCore::JSTestNamedDeleterThrowingException::deletePropertyByIndex): (WebCore::jsTestNamedDeleterThrowingExceptionConstructor): (WebCore::setJSTestNamedDeleterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp: (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIdentifier::deleteProperty): (WebCore::JSTestNamedDeleterWithIdentifier::deletePropertyByIndex): (WebCore::IDLOperation<JSTestNamedDeleterWithIdentifier>::cast): (WebCore::jsTestNamedDeleterWithIdentifierConstructor): (WebCore::setJSTestNamedDeleterWithIdentifierConstructor): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleterBody): (WebCore::jsTestNamedDeleterWithIdentifierPrototypeFunctionNamedDeleter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp: (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedDeleterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedDeleterWithIndexedGetter::deleteProperty): (WebCore::JSTestNamedDeleterWithIndexedGetter::deletePropertyByIndex): (WebCore::jsTestNamedDeleterWithIndexedGetterConstructor): (WebCore::setJSTestNamedDeleterWithIndexedGetterConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp: (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlot): (WebCore::JSTestNamedGetterCallWith::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterCallWith::getOwnPropertyNames): (WebCore::jsTestNamedGetterCallWithConstructor): (WebCore::setJSTestNamedGetterCallWithConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterCallWith.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp: (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterNoIdentifier::getOwnPropertyNames): (WebCore::jsTestNamedGetterNoIdentifierConstructor): (WebCore::setJSTestNamedGetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp: (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedGetterWithIdentifier::getOwnPropertyNames): (WebCore::IDLOperation<JSTestNamedGetterWithIdentifier>::cast): (WebCore::jsTestNamedGetterWithIdentifierConstructor): (WebCore::setJSTestNamedGetterWithIdentifierConstructor): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterNameBody): (WebCore::jsTestNamedGetterWithIdentifierPrototypeFunctionGetterName): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp: (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterNoIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterNoIdentifier::put): (WebCore::JSTestNamedSetterNoIdentifier::putByIndex): (WebCore::JSTestNamedSetterNoIdentifier::defineOwnProperty): (WebCore::jsTestNamedSetterNoIdentifierConstructor): (WebCore::setJSTestNamedSetterNoIdentifierConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp: (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlot): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterThrowingException::getOwnPropertyNames): (WebCore::JSTestNamedSetterThrowingException::put): (WebCore::JSTestNamedSetterThrowingException::putByIndex): (WebCore::JSTestNamedSetterThrowingException::defineOwnProperty): (WebCore::jsTestNamedSetterThrowingExceptionConstructor): (WebCore::setJSTestNamedSetterThrowingExceptionConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp: (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIdentifier::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIdentifier::put): (WebCore::JSTestNamedSetterWithIdentifier::putByIndex): (WebCore::JSTestNamedSetterWithIdentifier::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIdentifier>::cast): (WebCore::jsTestNamedSetterWithIdentifierConstructor): (WebCore::setJSTestNamedSetterWithIdentifierConstructor): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIdentifierPrototypeFunctionNamedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetter::put): (WebCore::JSTestNamedSetterWithIndexedGetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp: (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::put): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::putByIndex): (WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::defineOwnProperty): (WebCore::IDLOperation<JSTestNamedSetterWithIndexedGetterAndSetter>::cast): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::setJSTestNamedSetterWithIndexedGetterAndSetterConstructor): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetterBody): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionNamedSetter): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter1Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter2Body): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetterOverloadDispatcher): (WebCore::jsTestNamedSetterWithIndexedGetterAndSetterPrototypeFunctionIndexedSetter): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithOverrideBuiltins::defineOwnProperty): (WebCore::jsTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithOverrideBuiltinsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp: (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgableProperties::put): (WebCore::JSTestNamedSetterWithUnforgableProperties::putByIndex): (WebCore::JSTestNamedSetterWithUnforgableProperties::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgableProperties>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp: (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::getOwnPropertyNames): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::put): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::putByIndex): (WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::defineOwnProperty): (WebCore::IDLAttribute<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::IDLOperation<JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins>::cast): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::setJSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttributeGetter): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsUnforgeableAttribute): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperationBody): (WebCore::jsTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsInstanceFunctionUnforgeableOperation): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestNode.cpp: (WebCore::JSTestNodeConstructor::construct): (WebCore::JSTestNodePrototype::finishCreation): (WebCore::IDLAttribute<JSTestNode>::cast): (WebCore::IDLOperation<JSTestNode>::cast): (WebCore::jsTestNodeConstructor): (WebCore::setJSTestNodeConstructor): (WebCore::jsTestNodeNameGetter): (WebCore::jsTestNodeName): (WebCore::setJSTestNodeNameSetter): (WebCore::setJSTestNodeName): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromiseBody): (WebCore::jsTestNodePrototypeFunctionTestWorkerPromise): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestNodePrototypeFunctionCalculateSecretResult): (WebCore::jsTestNodePrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestNodePrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestNodePrototypeFunctionEntriesCaller): (WebCore::jsTestNodePrototypeFunctionEntries): (WebCore::jsTestNodePrototypeFunctionKeysCaller): (WebCore::jsTestNodePrototypeFunctionKeys): (WebCore::jsTestNodePrototypeFunctionValuesCaller): (WebCore::jsTestNodePrototypeFunctionValues): (WebCore::jsTestNodePrototypeFunctionForEachCaller): (WebCore::jsTestNodePrototypeFunctionForEach): (WebCore::JSTestNode::serialize): (WebCore::jsTestNodePrototypeFunctionToJSONBody): (WebCore::jsTestNodePrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestNode.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestObj.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestObj::EnumType>): (WebCore::parseEnumeration<TestObj::Optional>): (WebCore::parseEnumeration<AlternateEnumName>): (WebCore::parseEnumeration<TestObj::EnumA>): (WebCore::parseEnumeration<TestObj::EnumB>): (WebCore::parseEnumeration<TestObj::EnumC>): (WebCore::parseEnumeration<TestObj::Kind>): (WebCore::parseEnumeration<TestObj::Size>): (WebCore::parseEnumeration<TestObj::Confidence>): (WebCore::convertDictionary<TestObj::Dictionary>): (WebCore::convertDictionaryToJS): (WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>): (WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>): (WebCore::convertDictionary<AlternateDictionaryName>): (WebCore::convertDictionary<TestObj::ParentDictionary>): (WebCore::convertDictionary<TestObj::ChildDictionary>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryA>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryB>): (WebCore::convertDictionary<TestObj::ConditionalDictionaryC>): (WebCore::JSTestObjConstructor::construct): (WebCore::JSTestObjConstructor::initializeProperties): (WebCore::JSTestObjPrototype::finishCreation): (WebCore::JSTestObj::getOwnPropertySlot): (WebCore::JSTestObj::getOwnPropertySlotByIndex): (WebCore::JSTestObj::getOwnPropertyNames): (WebCore::callJSTestObj1): (WebCore::callJSTestObj2): (WebCore::callJSTestObj3): (WebCore::callJSTestObj): (WebCore::IDLAttribute<JSTestObj>::cast): (WebCore::IDLOperation<JSTestObj>::cast): (WebCore::jsTestObjConstructor): (WebCore::setJSTestObjConstructor): (WebCore::jsTestObjReadOnlyLongAttrGetter): (WebCore::jsTestObjReadOnlyLongAttr): (WebCore::jsTestObjReadOnlyStringAttrGetter): (WebCore::jsTestObjReadOnlyStringAttr): (WebCore::jsTestObjReadOnlyTestObjAttrGetter): (WebCore::jsTestObjReadOnlyTestObjAttr): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttrGetter): (WebCore::jsTestObjConstructorStaticReadOnlyLongAttr): (WebCore::jsTestObjConstructorStaticStringAttrGetter): (WebCore::jsTestObjConstructorStaticStringAttr): (WebCore::setJSTestObjConstructorStaticStringAttrSetter): (WebCore::setJSTestObjConstructorStaticStringAttr): (WebCore::jsTestObjConstructorTestSubObjGetter): (WebCore::jsTestObjConstructorTestSubObj): (WebCore::jsTestObjConstructorTestStaticReadonlyObjGetter): (WebCore::jsTestObjConstructorTestStaticReadonlyObj): (WebCore::jsTestObjEnumAttrGetter): (WebCore::jsTestObjEnumAttr): (WebCore::setJSTestObjEnumAttrSetter): (WebCore::setJSTestObjEnumAttr): (WebCore::jsTestObjByteAttrGetter): (WebCore::jsTestObjByteAttr): (WebCore::setJSTestObjByteAttrSetter): (WebCore::setJSTestObjByteAttr): (WebCore::jsTestObjOctetAttrGetter): (WebCore::jsTestObjOctetAttr): (WebCore::setJSTestObjOctetAttrSetter): (WebCore::setJSTestObjOctetAttr): (WebCore::jsTestObjShortAttrGetter): (WebCore::jsTestObjShortAttr): (WebCore::setJSTestObjShortAttrSetter): (WebCore::setJSTestObjShortAttr): (WebCore::jsTestObjClampedShortAttrGetter): (WebCore::jsTestObjClampedShortAttr): (WebCore::setJSTestObjClampedShortAttrSetter): (WebCore::setJSTestObjClampedShortAttr): (WebCore::jsTestObjEnforceRangeShortAttrGetter): (WebCore::jsTestObjEnforceRangeShortAttr): (WebCore::setJSTestObjEnforceRangeShortAttrSetter): (WebCore::setJSTestObjEnforceRangeShortAttr): (WebCore::jsTestObjUnsignedShortAttrGetter): (WebCore::jsTestObjUnsignedShortAttr): (WebCore::setJSTestObjUnsignedShortAttrSetter): (WebCore::setJSTestObjUnsignedShortAttr): (WebCore::jsTestObjLongAttrGetter): (WebCore::jsTestObjLongAttr): (WebCore::setJSTestObjLongAttrSetter): (WebCore::setJSTestObjLongAttr): (WebCore::jsTestObjLongLongAttrGetter): (WebCore::jsTestObjLongLongAttr): (WebCore::setJSTestObjLongLongAttrSetter): (WebCore::setJSTestObjLongLongAttr): (WebCore::jsTestObjUnsignedLongLongAttrGetter): (WebCore::jsTestObjUnsignedLongLongAttr): (WebCore::setJSTestObjUnsignedLongLongAttrSetter): (WebCore::setJSTestObjUnsignedLongLongAttr): (WebCore::jsTestObjStringAttrGetter): (WebCore::jsTestObjStringAttr): (WebCore::setJSTestObjStringAttrSetter): (WebCore::setJSTestObjStringAttr): (WebCore::jsTestObjUsvstringAttrGetter): (WebCore::jsTestObjUsvstringAttr): (WebCore::setJSTestObjUsvstringAttrSetter): (WebCore::setJSTestObjUsvstringAttr): (WebCore::jsTestObjTestObjAttrGetter): (WebCore::jsTestObjTestObjAttr): (WebCore::setJSTestObjTestObjAttrSetter): (WebCore::setJSTestObjTestObjAttr): (WebCore::jsTestObjTestNullableObjAttrGetter): (WebCore::jsTestObjTestNullableObjAttr): (WebCore::setJSTestObjTestNullableObjAttrSetter): (WebCore::setJSTestObjTestNullableObjAttr): (WebCore::jsTestObjLenientTestObjAttrGetter): (WebCore::jsTestObjLenientTestObjAttr): (WebCore::setJSTestObjLenientTestObjAttrSetter): (WebCore::setJSTestObjLenientTestObjAttr): (WebCore::jsTestObjUnforgeableAttrGetter): (WebCore::jsTestObjUnforgeableAttr): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyStringGetter): (WebCore::jsTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyStringSetter): (WebCore::setJSTestObjByteStringAttrTreatingNullAsEmptyString): (WebCore::jsTestObjStringLongRecordAttrGetter): (WebCore::jsTestObjStringLongRecordAttr): (WebCore::setJSTestObjStringLongRecordAttrSetter): (WebCore::setJSTestObjStringLongRecordAttr): (WebCore::jsTestObjUsvstringLongRecordAttrGetter): (WebCore::jsTestObjUsvstringLongRecordAttr): (WebCore::setJSTestObjUsvstringLongRecordAttrSetter): (WebCore::setJSTestObjUsvstringLongRecordAttr): (WebCore::jsTestObjStringObjRecordAttrGetter): (WebCore::jsTestObjStringObjRecordAttr): (WebCore::setJSTestObjStringObjRecordAttrSetter): (WebCore::setJSTestObjStringObjRecordAttr): (WebCore::jsTestObjStringNullableObjRecordAttrGetter): (WebCore::jsTestObjStringNullableObjRecordAttr): (WebCore::setJSTestObjStringNullableObjRecordAttrSetter): (WebCore::setJSTestObjStringNullableObjRecordAttr): (WebCore::jsTestObjStringVoidCallbackRecordAttrGetter): (WebCore::jsTestObjStringVoidCallbackRecordAttr): (WebCore::setJSTestObjStringVoidCallbackRecordAttrSetter): (WebCore::setJSTestObjStringVoidCallbackRecordAttr): (WebCore::jsTestObjDictionaryAttrGetter): (WebCore::jsTestObjDictionaryAttr): (WebCore::setJSTestObjDictionaryAttrSetter): (WebCore::setJSTestObjDictionaryAttr): (WebCore::jsTestObjNullableDictionaryAttrGetter): (WebCore::jsTestObjNullableDictionaryAttr): (WebCore::setJSTestObjNullableDictionaryAttrSetter): (WebCore::setJSTestObjNullableDictionaryAttr): (WebCore::jsTestObjAnnotatedTypeInUnionAttrGetter): (WebCore::jsTestObjAnnotatedTypeInUnionAttr): (WebCore::setJSTestObjAnnotatedTypeInUnionAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInUnionAttr): (WebCore::jsTestObjAnnotatedTypeInSequenceAttrGetter): (WebCore::jsTestObjAnnotatedTypeInSequenceAttr): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttrSetter): (WebCore::setJSTestObjAnnotatedTypeInSequenceAttr): (WebCore::jsTestObjImplementationEnumAttrGetter): (WebCore::jsTestObjImplementationEnumAttr): (WebCore::setJSTestObjImplementationEnumAttrSetter): (WebCore::setJSTestObjImplementationEnumAttr): (WebCore::jsTestObjMediaDevicesGetter): (WebCore::jsTestObjMediaDevices): (WebCore::jsTestObjServiceWorkersGetter): (WebCore::jsTestObjServiceWorkers): (WebCore::jsTestObjXMLObjAttrGetter): (WebCore::jsTestObjXMLObjAttr): (WebCore::setJSTestObjXMLObjAttrSetter): (WebCore::setJSTestObjXMLObjAttr): (WebCore::jsTestObjCreateGetter): (WebCore::jsTestObjCreate): (WebCore::setJSTestObjCreateSetter): (WebCore::setJSTestObjCreate): (WebCore::jsTestObjReflectedStringAttrGetter): (WebCore::jsTestObjReflectedStringAttr): (WebCore::setJSTestObjReflectedStringAttrSetter): (WebCore::setJSTestObjReflectedStringAttr): (WebCore::jsTestObjReflectedUSVStringAttrGetter): (WebCore::jsTestObjReflectedUSVStringAttr): (WebCore::setJSTestObjReflectedUSVStringAttrSetter): (WebCore::setJSTestObjReflectedUSVStringAttr): (WebCore::jsTestObjReflectedIntegralAttrGetter): (WebCore::jsTestObjReflectedIntegralAttr): (WebCore::setJSTestObjReflectedIntegralAttrSetter): (WebCore::setJSTestObjReflectedIntegralAttr): (WebCore::jsTestObjReflectedUnsignedIntegralAttrGetter): (WebCore::jsTestObjReflectedUnsignedIntegralAttr): (WebCore::setJSTestObjReflectedUnsignedIntegralAttrSetter): (WebCore::setJSTestObjReflectedUnsignedIntegralAttr): (WebCore::jsTestObjReflectedBooleanAttrGetter): (WebCore::jsTestObjReflectedBooleanAttr): (WebCore::setJSTestObjReflectedBooleanAttrSetter): (WebCore::setJSTestObjReflectedBooleanAttr): (WebCore::jsTestObjReflectedURLAttrGetter): (WebCore::jsTestObjReflectedURLAttr): (WebCore::setJSTestObjReflectedURLAttrSetter): (WebCore::setJSTestObjReflectedURLAttr): (WebCore::jsTestObjReflectedUSVURLAttrGetter): (WebCore::jsTestObjReflectedUSVURLAttr): (WebCore::setJSTestObjReflectedUSVURLAttrSetter): (WebCore::setJSTestObjReflectedUSVURLAttr): (WebCore::jsTestObjReflectedCustomIntegralAttrGetter): (WebCore::jsTestObjReflectedCustomIntegralAttr): (WebCore::setJSTestObjReflectedCustomIntegralAttrSetter): (WebCore::setJSTestObjReflectedCustomIntegralAttr): (WebCore::jsTestObjReflectedCustomBooleanAttrGetter): (WebCore::jsTestObjReflectedCustomBooleanAttr): (WebCore::setJSTestObjReflectedCustomBooleanAttrSetter): (WebCore::setJSTestObjReflectedCustomBooleanAttr): (WebCore::jsTestObjReflectedCustomURLAttrGetter): (WebCore::jsTestObjReflectedCustomURLAttr): (WebCore::setJSTestObjReflectedCustomURLAttrSetter): (WebCore::setJSTestObjReflectedCustomURLAttr): (WebCore::jsTestObjEnabledAtRuntimeAttributeGetter): (WebCore::jsTestObjEnabledAtRuntimeAttribute): (WebCore::setJSTestObjEnabledAtRuntimeAttributeSetter): (WebCore::setJSTestObjEnabledAtRuntimeAttribute): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter): (WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter): (WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic): (WebCore::jsTestObjTypedArrayAttrGetter): (WebCore::jsTestObjTypedArrayAttr): (WebCore::setJSTestObjTypedArrayAttrSetter): (WebCore::setJSTestObjTypedArrayAttr): (WebCore::jsTestObjCustomAttrGetter): (WebCore::jsTestObjCustomAttr): (WebCore::setJSTestObjCustomAttrSetter): (WebCore::setJSTestObjCustomAttr): (WebCore::jsTestObjOnfooGetter): (WebCore::jsTestObjOnfoo): (WebCore::setJSTestObjOnfooSetter): (WebCore::setJSTestObjOnfoo): (WebCore::jsTestObjOnwebkitfooGetter): (WebCore::jsTestObjOnwebkitfoo): (WebCore::setJSTestObjOnwebkitfooSetter): (WebCore::setJSTestObjOnwebkitfoo): (WebCore::jsTestObjWithExecStateAttributeGetter): (WebCore::jsTestObjWithExecStateAttribute): (WebCore::setJSTestObjWithExecStateAttributeSetter): (WebCore::setJSTestObjWithExecStateAttribute): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttributeGetter): (WebCore::jsTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttributeSetter): (WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute): (WebCore::jsTestObjWithScriptExecutionContextAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateAttribute): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeGetter): (WebCore::jsTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttributeSetter): (WebCore::setJSTestObjWithScriptExecutionContextAndExecStateWithSpacesAttribute): (WebCore::jsTestObjConditionalAttr1Getter): (WebCore::jsTestObjConditionalAttr1): (WebCore::setJSTestObjConditionalAttr1Setter): (WebCore::setJSTestObjConditionalAttr1): (WebCore::jsTestObjConditionalAttr2Getter): (WebCore::jsTestObjConditionalAttr2): (WebCore::setJSTestObjConditionalAttr2Setter): (WebCore::setJSTestObjConditionalAttr2): (WebCore::jsTestObjConditionalAttr3Getter): (WebCore::jsTestObjConditionalAttr3): (WebCore::setJSTestObjConditionalAttr3Setter): (WebCore::setJSTestObjConditionalAttr3): (WebCore::jsTestObjConditionalAttr4ConstructorGetter): (WebCore::jsTestObjConditionalAttr4Constructor): (WebCore::setJSTestObjConditionalAttr4ConstructorSetter): (WebCore::setJSTestObjConditionalAttr4Constructor): (WebCore::jsTestObjConditionalAttr5ConstructorGetter): (WebCore::jsTestObjConditionalAttr5Constructor): (WebCore::setJSTestObjConditionalAttr5ConstructorSetter): (WebCore::setJSTestObjConditionalAttr5Constructor): (WebCore::jsTestObjConditionalAttr6ConstructorGetter): (WebCore::jsTestObjConditionalAttr6Constructor): (WebCore::setJSTestObjConditionalAttr6ConstructorSetter): (WebCore::setJSTestObjConditionalAttr6Constructor): (WebCore::jsTestObjCachedAttribute1Getter): (WebCore::jsTestObjCachedAttribute1): (WebCore::jsTestObjCachedAttribute2Getter): (WebCore::jsTestObjCachedAttribute2): (WebCore::jsTestObjCachedAttribute3Getter): (WebCore::jsTestObjCachedAttribute3): (WebCore::jsTestObjAnyAttributeGetter): (WebCore::jsTestObjAnyAttribute): (WebCore::setJSTestObjAnyAttributeSetter): (WebCore::setJSTestObjAnyAttribute): (WebCore::jsTestObjObjectAttributeGetter): (WebCore::jsTestObjObjectAttribute): (WebCore::setJSTestObjObjectAttributeSetter): (WebCore::setJSTestObjObjectAttribute): (WebCore::jsTestObjContentDocumentGetter): (WebCore::jsTestObjContentDocument): (WebCore::jsTestObjMutablePointGetter): (WebCore::jsTestObjMutablePoint): (WebCore::setJSTestObjMutablePointSetter): (WebCore::setJSTestObjMutablePoint): (WebCore::jsTestObjStrawberryGetter): (WebCore::jsTestObjStrawberry): (WebCore::setJSTestObjStrawberrySetter): (WebCore::setJSTestObjStrawberry): (WebCore::jsTestObjDescriptionGetter): (WebCore::jsTestObjDescription): (WebCore::jsTestObjIdGetter): (WebCore::jsTestObjId): (WebCore::setJSTestObjIdSetter): (WebCore::setJSTestObjId): (WebCore::jsTestObjHashGetter): (WebCore::jsTestObjHash): (WebCore::jsTestObjReplaceableAttributeGetter): (WebCore::jsTestObjReplaceableAttribute): (WebCore::setJSTestObjReplaceableAttributeSetter): (WebCore::setJSTestObjReplaceableAttribute): (WebCore::jsTestObjNullableDoubleAttributeGetter): (WebCore::jsTestObjNullableDoubleAttribute): (WebCore::jsTestObjNullableLongAttributeGetter): (WebCore::jsTestObjNullableLongAttribute): (WebCore::jsTestObjNullableBooleanAttributeGetter): (WebCore::jsTestObjNullableBooleanAttribute): (WebCore::jsTestObjNullableStringAttributeGetter): (WebCore::jsTestObjNullableStringAttribute): (WebCore::jsTestObjNullableLongSettableAttributeGetter): (WebCore::jsTestObjNullableLongSettableAttribute): (WebCore::setJSTestObjNullableLongSettableAttributeSetter): (WebCore::setJSTestObjNullableLongSettableAttribute): (WebCore::jsTestObjNullableStringSettableAttributeGetter): (WebCore::jsTestObjNullableStringSettableAttribute): (WebCore::setJSTestObjNullableStringSettableAttributeSetter): (WebCore::setJSTestObjNullableStringSettableAttribute): (WebCore::jsTestObjNullableUSVStringSettableAttributeGetter): (WebCore::jsTestObjNullableUSVStringSettableAttribute): (WebCore::setJSTestObjNullableUSVStringSettableAttributeSetter): (WebCore::setJSTestObjNullableUSVStringSettableAttribute): (WebCore::jsTestObjNullableByteStringSettableAttributeGetter): (WebCore::jsTestObjNullableByteStringSettableAttribute): (WebCore::setJSTestObjNullableByteStringSettableAttributeSetter): (WebCore::setJSTestObjNullableByteStringSettableAttribute): (WebCore::jsTestObjAttributeGetter): (WebCore::jsTestObjAttribute): (WebCore::jsTestObjAttributeWithReservedEnumTypeGetter): (WebCore::jsTestObjAttributeWithReservedEnumType): (WebCore::setJSTestObjAttributeWithReservedEnumTypeSetter): (WebCore::setJSTestObjAttributeWithReservedEnumType): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyVoidPromiseAttribute): (WebCore::jsTestObjTestReadOnlyPromiseAttributeGetter): (WebCore::jsTestObjTestReadOnlyPromiseAttribute): (WebCore::jsTestObjPutForwardsAttributeGetter): (WebCore::jsTestObjPutForwardsAttribute): (WebCore::setJSTestObjPutForwardsAttributeSetter): (WebCore::setJSTestObjPutForwardsAttribute): (WebCore::jsTestObjPutForwardsNullableAttributeGetter): (WebCore::jsTestObjPutForwardsNullableAttribute): (WebCore::setJSTestObjPutForwardsNullableAttributeSetter): (WebCore::setJSTestObjPutForwardsNullableAttribute): (WebCore::jsTestObjStringifierAttributeGetter): (WebCore::jsTestObjStringifierAttribute): (WebCore::setJSTestObjStringifierAttributeSetter): (WebCore::setJSTestObjStringifierAttribute): (WebCore::jsTestObjConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttributeGetter): (WebCore::jsTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttributeSetter): (WebCore::setJSTestObjConditionalAndConditionallyReadWriteAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAttribute): (WebCore::jsTestObjConditionallyExposedToWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWorkerAttribute): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttributeGetter): (WebCore::jsTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttributeSetter): (WebCore::setJSTestObjConditionallyExposedToWindowAndWorkerAttribute): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2Body): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperationOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody): (WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabledBody): (WebCore::jsTestObjPrototypeFunctionEnabledInSpecificWorldWhenRuntimeFeatureEnabled): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethodBody): (WebCore::jsTestObjPrototypeFunctionWorldSpecificMethod): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResultBody): (WebCore::jsTestObjPrototypeFunctionCalculateSecretResult): (WebCore::jsTestObjPrototypeFunctionGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBooleanBody): (WebCore::jsTestObjPrototypeFunctionTestFeatureGetSecretBoolean): (WebCore::jsTestObjPrototypeFunctionVoidMethodBody): (WebCore::jsTestObjPrototypeFunctionVoidMethod): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionByteMethodBody): (WebCore::jsTestObjPrototypeFunctionByteMethod): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionOctetMethodBody): (WebCore::jsTestObjPrototypeFunctionOctetMethod): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionLongMethodBody): (WebCore::jsTestObjPrototypeFunctionLongMethod): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionObjMethodBody): (WebCore::jsTestObjPrototypeFunctionObjMethod): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): (WebCore::jsTestObjInstanceFunctionUnforgeableMethodBody): (WebCore::jsTestObjInstanceFunctionUnforgeableMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameterBody): (WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter): (WebCore::jsTestObjPrototypeFunctionNullableStringMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringMethod): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethodBody): (WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethodBody): (WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithStandaloneEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrowsBody): (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNullableByteStringArg): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithByteStringArgTreatingNullAsEmptyString): (WebCore::jsTestObjPrototypeFunctionSerializedValueBody): (WebCore::jsTestObjPrototypeFunctionSerializedValue): (WebCore::jsTestObjPrototypeFunctionMethodWithRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionMethodWithException): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningLong): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionReturningObject): (WebCore::jsTestObjPrototypeFunctionCustomMethodBody): (WebCore::jsTestObjPrototypeFunctionCustomMethod): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgsBody): (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs): (WebCore::jsTestObjPrototypeFunctionPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPrivateMethod): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethodBody): (WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod): (WebCore::jsTestObjPrototypeFunctionAddEventListenerBody): (WebCore::jsTestObjPrototypeFunctionAddEventListener): (WebCore::jsTestObjPrototypeFunctionRemoveEventListenerBody): (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoid): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObj): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateVoidException): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecState): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjExceptionBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateObjException): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpacesBody): (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndExecStateWithSpaces): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerDocumentArgument): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgumentBody): (WebCore::jsTestObjPrototypeFunctionWithCallerWindowArgument): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgsBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValueBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringAndDefaultValue): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyStringBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomStringIsEmptyString): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaNBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZeroBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmptyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAnyBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAny): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObjectBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalObject): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapper): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNullBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalNullableWrapperIsNull): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolverBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecordBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalRecord): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromiseBody): (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalPromise): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArgBody): (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackFunctionAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArgBody): (WebCore::jsTestObjConstructorFunctionStaticMethodWithCallbackArg): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod1): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod2): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3Body): (WebCore::jsTestObjPrototypeFunctionConditionalMethod3): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod8Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod9Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod10Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod11Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod12Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod13Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethod): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnionsOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithOptionalUnion): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter1Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter2Body): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameterOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter): (WebCore::jsTestObjConstructorFunctionClassMethodBody): (WebCore::jsTestObjConstructorFunctionClassMethod): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptionalBody): (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): (WebCore::jsTestObjConstructorFunctionClassMethod2Body): (WebCore::jsTestObjConstructorFunctionClassMethod2): (WebCore::jsTestObjConstructorFunctionOverloadedMethod11Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod12Body): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1OverloadDispatcher): (WebCore::jsTestObjConstructorFunctionOverloadedMethod1): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithClampOnOptional): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptionalBody): (WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRangeOnOptional): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence): (WebCore::jsTestObjPrototypeFunctionStringArrayFunctionBody): (WebCore::jsTestObjPrototypeFunctionStringArrayFunction): (WebCore::jsTestObjPrototypeFunctionDomStringListFunctionBody): (WebCore::jsTestObjPrototypeFunctionDomStringListFunction): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithOptionalUnionParameter): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequenceBody): (WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): (WebCore::jsTestObjPrototypeFunctionGetElementByIdBody): (WebCore::jsTestObjPrototypeFunctionGetElementById): (WebCore::jsTestObjPrototypeFunctionGetSVGDocumentBody): (WebCore::jsTestObjPrototypeFunctionGetSVGDocument): (WebCore::jsTestObjPrototypeFunctionConvert1Body): (WebCore::jsTestObjPrototypeFunctionConvert1): (WebCore::jsTestObjPrototypeFunctionConvert2Body): (WebCore::jsTestObjPrototypeFunctionConvert2): (WebCore::jsTestObjPrototypeFunctionConvert3Body): (WebCore::jsTestObjPrototypeFunctionConvert3): (WebCore::jsTestObjPrototypeFunctionConvert4Body): (WebCore::jsTestObjPrototypeFunctionConvert4): (WebCore::jsTestObjPrototypeFunctionMutablePointFunctionBody): (WebCore::jsTestObjPrototypeFunctionMutablePointFunction): (WebCore::jsTestObjPrototypeFunctionOrangeBody): (WebCore::jsTestObjPrototypeFunctionOrange): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicStringMethod): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethodBody): (WebCore::jsTestObjPrototypeFunctionVariadicUnionMethod): (WebCore::jsTestObjPrototypeFunctionAnyBody): (WebCore::jsTestObjPrototypeFunctionAny): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentBody): (WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgument): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction2Body): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunctionOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithExceptionBody): (WebCore::jsTestObjConstructorFunctionTestStaticPromiseFunctionWithException): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomPromiseFunction): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunctionBody): (WebCore::jsTestObjConstructorFunctionTestStaticCustomPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestCustomReturnsOwnPromiseFunction): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunctionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnsOwnPromiseAndPromiseProxyFunction): (WebCore::jsTestObjPrototypeFunctionConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionConditionalOverload): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2Body): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverloadOverloadDispatcher): (WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload): (WebCore::jsTestObjPrototypeFunctionAttachShadowRootBody): (WebCore::jsTestObjPrototypeFunctionAttachShadowRoot): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameterBody): (WebCore::jsTestObjPrototypeFunctionOperationWithExternalDictionaryParameter): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameterBody): (WebCore::jsTestObjPrototypeFunctionBufferSourceParameter): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamedBody): (WebCore::jsTestObjPrototypeFunctionLegacyCallerNamed): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimization): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithExceptionBody): (WebCore::jsTestObjPrototypeFunctionTestReturnValueOptimizationWithException): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWorkerFunction): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunctionBody): (WebCore::jsTestObjPrototypeFunctionConditionallyExposedToWindowAndWorkerFunction): (WebCore::jsTestObjPrototypeFunctionToStringBody): (WebCore::jsTestObjPrototypeFunctionToString): (WebCore::JSTestObj::serialize): (WebCore::jsTestObjPrototypeFunctionToJSONBody): (WebCore::jsTestObjPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestObj.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: (WebCore::constructJSTestOverloadedConstructors1): (WebCore::constructJSTestOverloadedConstructors2): (WebCore::constructJSTestOverloadedConstructors3): (WebCore::constructJSTestOverloadedConstructors4): (WebCore::constructJSTestOverloadedConstructors5): (WebCore::JSTestOverloadedConstructorsConstructor::construct): (WebCore::jsTestOverloadedConstructorsConstructor): (WebCore::setJSTestOverloadedConstructorsConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructors.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp: (WebCore::constructJSTestOverloadedConstructorsWithSequence1): (WebCore::constructJSTestOverloadedConstructorsWithSequence2): (WebCore::JSTestOverloadedConstructorsWithSequenceConstructor::construct): (WebCore::jsTestOverloadedConstructorsWithSequenceConstructor): (WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp: (WebCore::JSTestOverrideBuiltins::getOwnPropertySlot): (WebCore::JSTestOverrideBuiltins::getOwnPropertySlotByIndex): (WebCore::JSTestOverrideBuiltins::getOwnPropertyNames): (WebCore::IDLOperation<JSTestOverrideBuiltins>::cast): (WebCore::jsTestOverrideBuiltinsConstructor): (WebCore::setJSTestOverrideBuiltinsConstructor): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItemBody): (WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestOverrideBuiltins.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPluginInterface.cpp: (WebCore::JSTestPluginInterface::getOwnPropertySlot): (WebCore::JSTestPluginInterface::getOwnPropertySlotByIndex): (WebCore::JSTestPluginInterface::put): (WebCore::JSTestPluginInterface::putByIndex): (WebCore::jsTestPluginInterfaceConstructor): (WebCore::setJSTestPluginInterfaceConstructor): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPluginInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp: (WebCore::convertDictionary<TestPromiseRejectionEvent::Init>): (WebCore::JSTestPromiseRejectionEventConstructor::construct): (WebCore::IDLAttribute<JSTestPromiseRejectionEvent>::cast): (WebCore::jsTestPromiseRejectionEventConstructor): (WebCore::setJSTestPromiseRejectionEventConstructor): (WebCore::jsTestPromiseRejectionEventPromiseGetter): (WebCore::jsTestPromiseRejectionEventPromise): (WebCore::jsTestPromiseRejectionEventReasonGetter): (WebCore::jsTestPromiseRejectionEventReason): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerialization.cpp: (WebCore::IDLAttribute<JSTestSerialization>::cast): (WebCore::IDLOperation<JSTestSerialization>::cast): (WebCore::jsTestSerializationConstructor): (WebCore::setJSTestSerializationConstructor): (WebCore::jsTestSerializationFirstStringAttributeGetter): (WebCore::jsTestSerializationFirstStringAttribute): (WebCore::setJSTestSerializationFirstStringAttributeSetter): (WebCore::setJSTestSerializationFirstStringAttribute): (WebCore::jsTestSerializationSecondLongAttributeGetter): (WebCore::jsTestSerializationSecondLongAttribute): (WebCore::setJSTestSerializationSecondLongAttributeSetter): (WebCore::setJSTestSerializationSecondLongAttribute): (WebCore::jsTestSerializationThirdUnserializableAttributeGetter): (WebCore::jsTestSerializationThirdUnserializableAttribute): (WebCore::setJSTestSerializationThirdUnserializableAttributeSetter): (WebCore::setJSTestSerializationThirdUnserializableAttribute): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttributeGetter): (WebCore::jsTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttributeSetter): (WebCore::setJSTestSerializationFourthUnrestrictedDoubleAttribute): (WebCore::jsTestSerializationFifthLongAttributeGetter): (WebCore::jsTestSerializationFifthLongAttribute): (WebCore::setJSTestSerializationFifthLongAttributeSetter): (WebCore::setJSTestSerializationFifthLongAttribute): (WebCore::jsTestSerializationSixthTypedefAttributeGetter): (WebCore::jsTestSerializationSixthTypedefAttribute): (WebCore::setJSTestSerializationSixthTypedefAttributeSetter): (WebCore::setJSTestSerializationSixthTypedefAttribute): (WebCore::jsTestSerializationSeventhDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationSeventhDirectlySerializableAttribute): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationSeventhDirectlySerializableAttribute): (WebCore::jsTestSerializationEighthIndirectlyAttributeGetter): (WebCore::jsTestSerializationEighthIndirectlyAttribute): (WebCore::setJSTestSerializationEighthIndirectlyAttributeSetter): (WebCore::setJSTestSerializationEighthIndirectlyAttribute): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttributeGetter): (WebCore::jsTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttributeSetter): (WebCore::setJSTestSerializationNinthOptionalDirectlySerializableAttribute): (WebCore::jsTestSerializationTenthFrozenArrayAttributeGetter): (WebCore::jsTestSerializationTenthFrozenArrayAttribute): (WebCore::setJSTestSerializationTenthFrozenArrayAttributeSetter): (WebCore::setJSTestSerializationTenthFrozenArrayAttribute): (WebCore::jsTestSerializationEleventhSequenceAttributeGetter): (WebCore::jsTestSerializationEleventhSequenceAttribute): (WebCore::setJSTestSerializationEleventhSequenceAttributeSetter): (WebCore::setJSTestSerializationEleventhSequenceAttribute): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttributeGetter): (WebCore::jsTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttributeSetter): (WebCore::setJSTestSerializationTwelfthInterfaceSequenceAttribute): (WebCore::JSTestSerialization::serialize): (WebCore::jsTestSerializationPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationPrototypeFunctionToJSON): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerialization.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp: (WebCore::jsTestSerializationIndirectInheritanceConstructor): (WebCore::setJSTestSerializationIndirectInheritanceConstructor): * bindings/scripts/test/JS/JSTestSerializationInherit.cpp: (WebCore::IDLAttribute<JSTestSerializationInherit>::cast): (WebCore::IDLOperation<JSTestSerializationInherit>::cast): (WebCore::jsTestSerializationInheritConstructor): (WebCore::setJSTestSerializationInheritConstructor): (WebCore::jsTestSerializationInheritInheritLongAttributeGetter): (WebCore::jsTestSerializationInheritInheritLongAttribute): (WebCore::setJSTestSerializationInheritInheritLongAttributeSetter): (WebCore::setJSTestSerializationInheritInheritLongAttribute): (WebCore::JSTestSerializationInherit::serialize): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInherit.h: * bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp: (WebCore::IDLAttribute<JSTestSerializationInheritFinal>::cast): (WebCore::IDLOperation<JSTestSerializationInheritFinal>::cast): (WebCore::jsTestSerializationInheritFinalConstructor): (WebCore::setJSTestSerializationInheritFinalConstructor): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFooGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFooSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeFoo): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBarGetter): (WebCore::jsTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBarSetter): (WebCore::setJSTestSerializationInheritFinalFinalLongAttributeBar): (WebCore::JSTestSerializationInheritFinal::serialize): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONBody): (WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSON): * bindings/scripts/test/JS/JSTestSerializationInheritFinal.h: * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: (WebCore::IDLAttribute<JSTestSerializedScriptValueInterface>::cast): (WebCore::IDLOperation<JSTestSerializedScriptValueInterface>::cast): (WebCore::jsTestSerializedScriptValueInterfaceConstructor): (WebCore::setJSTestSerializedScriptValueInterfaceConstructor): (WebCore::jsTestSerializedScriptValueInterfaceValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceValue): (WebCore::setJSTestSerializedScriptValueInterfaceValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceValue): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedValue): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValueSetter): (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue): (WebCore::jsTestSerializedScriptValueInterfacePortsGetter): (WebCore::jsTestSerializedScriptValueInterfacePorts): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter): (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunction): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturningBody): (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionFunctionReturning): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp: (WebCore::convertDictionary<DictionaryImplName>): (WebCore::convertDictionaryToJS): (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneDictionary::EnumInStandaloneDictionaryFile>): * bindings/scripts/test/JS/JSTestStandaloneDictionary.h: * bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp: (WebCore::convertEnumerationToJS): (WebCore::parseEnumeration<TestStandaloneEnumeration>): * bindings/scripts/test/JS/JSTestStandaloneEnumeration.h: * bindings/scripts/test/JS/JSTestStringifier.cpp: (WebCore::IDLOperation<JSTestStringifier>::cast): (WebCore::jsTestStringifierConstructor): (WebCore::setJSTestStringifierConstructor): (WebCore::jsTestStringifierPrototypeFunctionToStringBody): (WebCore::jsTestStringifierPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifier.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: (WebCore::IDLOperation<JSTestStringifierAnonymousOperation>::cast): (WebCore::jsTestStringifierAnonymousOperationConstructor): (WebCore::setJSTestStringifierAnonymousOperationConstructor): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierAnonymousOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: (WebCore::IDLOperation<JSTestStringifierNamedOperation>::cast): (WebCore::jsTestStringifierNamedOperationConstructor): (WebCore::setJSTestStringifierNamedOperationConstructor): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionIdentifier): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToStringBody): (WebCore::jsTestStringifierNamedOperationPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: (WebCore::IDLOperation<JSTestStringifierOperationImplementedAs>::cast): (WebCore::jsTestStringifierOperationImplementedAsConstructor): (WebCore::setJSTestStringifierOperationImplementedAsConstructor): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifierBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionIdentifier): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationImplementedAsPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: (WebCore::IDLOperation<JSTestStringifierOperationNamedToString>::cast): (WebCore::jsTestStringifierOperationNamedToStringConstructor): (WebCore::setJSTestStringifierOperationNamedToStringConstructor): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToStringBody): (WebCore::jsTestStringifierOperationNamedToStringPrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadOnlyAttribute>::cast): (WebCore::jsTestStringifierReadOnlyAttributeConstructor): (WebCore::setJSTestStringifierReadOnlyAttributeConstructor): (WebCore::jsTestStringifierReadOnlyAttributeIdentifierGetter): (WebCore::jsTestStringifierReadOnlyAttributeIdentifier): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadOnlyAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: (WebCore::IDLAttribute<JSTestStringifierReadWriteAttribute>::cast): (WebCore::IDLOperation<JSTestStringifierReadWriteAttribute>::cast): (WebCore::jsTestStringifierReadWriteAttributeConstructor): (WebCore::setJSTestStringifierReadWriteAttributeConstructor): (WebCore::jsTestStringifierReadWriteAttributeIdentifierGetter): (WebCore::jsTestStringifierReadWriteAttributeIdentifier): (WebCore::setJSTestStringifierReadWriteAttributeIdentifierSetter): (WebCore::setJSTestStringifierReadWriteAttributeIdentifier): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToStringBody): (WebCore::jsTestStringifierReadWriteAttributePrototypeFunctionToString): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestTypedefs.cpp: (WebCore::JSTestTypedefsConstructor::construct): (WebCore::IDLAttribute<JSTestTypedefs>::cast): (WebCore::IDLOperation<JSTestTypedefs>::cast): (WebCore::jsTestTypedefsConstructor): (WebCore::setJSTestTypedefsConstructor): (WebCore::jsTestTypedefsUnsignedLongLongAttrGetter): (WebCore::jsTestTypedefsUnsignedLongLongAttr): (WebCore::setJSTestTypedefsUnsignedLongLongAttrSetter): (WebCore::setJSTestTypedefsUnsignedLongLongAttr): (WebCore::jsTestTypedefsSerializedScriptValueGetter): (WebCore::jsTestTypedefsSerializedScriptValue): (WebCore::setJSTestTypedefsSerializedScriptValueSetter): (WebCore::setJSTestTypedefsSerializedScriptValue): (WebCore::jsTestTypedefsConstructorTestSubObjGetter): (WebCore::jsTestTypedefsConstructorTestSubObj): (WebCore::jsTestTypedefsAttributeWithClampGetter): (WebCore::jsTestTypedefsAttributeWithClamp): (WebCore::setJSTestTypedefsAttributeWithClampSetter): (WebCore::setJSTestTypedefsAttributeWithClamp): (WebCore::jsTestTypedefsAttributeWithClampInTypedefGetter): (WebCore::jsTestTypedefsAttributeWithClampInTypedef): (WebCore::setJSTestTypedefsAttributeWithClampInTypedefSetter): (WebCore::setJSTestTypedefsAttributeWithClampInTypedef): (WebCore::jsTestTypedefsBufferSourceAttrGetter): (WebCore::jsTestTypedefsBufferSourceAttr): (WebCore::setJSTestTypedefsBufferSourceAttrSetter): (WebCore::setJSTestTypedefsBufferSourceAttr): (WebCore::jsTestTypedefsDomTimeStampAttrGetter): (WebCore::jsTestTypedefsDomTimeStampAttr): (WebCore::setJSTestTypedefsDomTimeStampAttrSetter): (WebCore::setJSTestTypedefsDomTimeStampAttr): (WebCore::jsTestTypedefsPrototypeFunctionFuncBody): (WebCore::jsTestTypedefsPrototypeFunctionFunc): (WebCore::jsTestTypedefsPrototypeFunctionSetShadowBody): (WebCore::jsTestTypedefsPrototypeFunctionSetShadow): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfNullablesArg): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArgBody): (WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceOfUnionsArg): (WebCore::jsTestTypedefsPrototypeFunctionUnionArgBody): (WebCore::jsTestTypedefsPrototypeFunctionUnionArg): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedefBody): (WebCore::jsTestTypedefsPrototypeFunctionFuncWithClampInTypedef): (WebCore::jsTestTypedefsPrototypeFunctionPointFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionPointFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunctionBody): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2Body): (WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresIncludeBody): (WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithExceptionBody): (WebCore::jsTestTypedefsPrototypeFunctionMethodWithException): (WebCore::toJSNewlyCreated): (WebCore::toJS): * bindings/scripts/test/JS/JSTestTypedefs.h: (WebCore::toJS): (WebCore::toJSNewlyCreated): * bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: (WebCore::JSTestVoidCallbackFunction::handleEvent): * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestPromiseRejectionEvent.idl: * bridge/NP_jsobject.cpp: (JSC::getListFromVariantArgs): * bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): (JSC::Bindings::CInstance::newRuntimeObject): (JSC::Bindings::CRuntimeMethod::create): (JSC::Bindings::CInstance::getMethod): (JSC::Bindings::CInstance::invokeMethod): (JSC::Bindings::CInstance::invokeDefaultMethod): (JSC::Bindings::CInstance::invokeConstruct): (JSC::Bindings::CInstance::defaultValue const): (JSC::Bindings::CInstance::stringValue const): (JSC::Bindings::CInstance::numberValue const): (JSC::Bindings::CInstance::valueOf const): (JSC::Bindings::CInstance::toJSPrimitive const): (JSC::Bindings::CInstance::getPropertyNames): * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: (JSC::Bindings::CField::valueFromInstance const): (JSC::Bindings::CField::setValueToInstance const): * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): (JSC::Bindings::convertNPVariantToValue): (JSC::Bindings::identifierFromNPIdentifier): * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: (JSC::Bindings::Instance::createRuntimeObject): (JSC::Bindings::Instance::newRuntimeObject): * bridge/jsc/BridgeJSC.h: (JSC::Bindings::Class::fallbackObject): (JSC::Bindings::Instance::setValueOfUndefinedField): (JSC::Bindings::Instance::invokeDefaultMethod): (JSC::Bindings::Instance::invokeConstruct): (JSC::Bindings::Instance::getPropertyNames): (JSC::Bindings::Instance::getOwnPropertySlot): (JSC::Bindings::Instance::put): * bridge/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): (-[WebScriptObject _isSafeScript]): (-[WebScriptObject _globalContextRef]): (getListFromNSArray): (-[WebScriptObject callWebScriptMethod:withArguments:]): (-[WebScriptObject evaluateWebScript:]): (-[WebScriptObject setValue:forKey:]): (-[WebScriptObject valueForKey:]): (-[WebScriptObject removeWebScriptKey:]): (-[WebScriptObject hasWebScriptKey:]): (-[WebScriptObject stringRepresentation]): (-[WebScriptObject webScriptValueAtIndex:]): (-[WebScriptObject setWebScriptValueAtIndex:value:]): (-[WebScriptObject JSObject]): (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: (JSC::Bindings::ObjcClass::fallbackObject): * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: (ObjcInstance::newRuntimeObject): (ObjcInstance::moveGlobalExceptionToExecState): (ObjCRuntimeMethod::create): (ObjcInstance::invokeMethod): (ObjcInstance::invokeObjcMethod): (ObjcInstance::invokeDefaultMethod): (ObjcInstance::setValueOfUndefinedField): (ObjcInstance::getValueOfUndefinedField const): (ObjcInstance::defaultValue const): (ObjcInstance::stringValue const): (ObjcInstance::numberValue const): (ObjcInstance::valueOf const): * bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::create): * bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance const): (JSC::Bindings::convertValueToObjcObject): (JSC::Bindings::ObjcField::setValueToInstance const): (JSC::Bindings::ObjcArray::setValueAt const): (JSC::Bindings::ObjcArray::valueAt const): (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot): (JSC::Bindings::ObjcFallbackObjectImp::put): (JSC::Bindings::callObjCFallbackObject): (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty): (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): (JSC::Bindings::ObjcFallbackObjectImp::toBoolean const): * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): (JSC::Bindings::convertNSStringToString): (JSC::Bindings::convertObjcValueToValue): (JSC::Bindings::throwError): * bridge/runtime_array.cpp: (JSC::RuntimeArray::RuntimeArray): (JSC::RuntimeArray::lengthGetter): (JSC::RuntimeArray::getOwnPropertyNames): (JSC::RuntimeArray::getOwnPropertySlot): (JSC::RuntimeArray::getOwnPropertySlotByIndex): (JSC::RuntimeArray::put): (JSC::RuntimeArray::putByIndex): (JSC::RuntimeArray::deleteProperty): (JSC::RuntimeArray::deletePropertyByIndex): * bridge/runtime_array.h: (JSC::RuntimeArray::create): * bridge/runtime_method.cpp: (JSC::RuntimeMethod::lengthGetter): (JSC::RuntimeMethod::getOwnPropertySlot): (JSC::callRuntimeMethod): * bridge/runtime_method.h: * bridge/runtime_object.cpp: (JSC::Bindings::RuntimeObject::fallbackObjectGetter): (JSC::Bindings::RuntimeObject::fieldGetter): (JSC::Bindings::RuntimeObject::methodGetter): (JSC::Bindings::RuntimeObject::getOwnPropertySlot): (JSC::Bindings::RuntimeObject::put): (JSC::Bindings::RuntimeObject::deleteProperty): (JSC::Bindings::RuntimeObject::defaultValue): (JSC::Bindings::callRuntimeObject): (JSC::Bindings::callRuntimeConstructor): (JSC::Bindings::RuntimeObject::getOwnPropertyNames): (JSC::Bindings::RuntimeObject::throwInvalidAccessError): * bridge/runtime_object.h: * bridge/testbindings.cpp: (main): * bridge/testbindings.mm: (main): * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getStringList): (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::getTypeFlags): (WebCore::ContentExtensions::loadTrigger): (WebCore::ContentExtensions::loadAction): (WebCore::ContentExtensions::loadRule): (WebCore::ContentExtensions::loadEncodedRules): (WebCore::ContentExtensions::parseRuleList): * crypto/SubtleCrypto.cpp: (WebCore::toHashIdentifier): (WebCore::normalizeCryptoAlgorithmParameters): (WebCore::SubtleCrypto::encrypt): (WebCore::SubtleCrypto::decrypt): (WebCore::SubtleCrypto::sign): (WebCore::SubtleCrypto::verify): (WebCore::SubtleCrypto::digest): (WebCore::SubtleCrypto::generateKey): (WebCore::SubtleCrypto::deriveKey): (WebCore::SubtleCrypto::deriveBits): (WebCore::SubtleCrypto::importKey): (WebCore::SubtleCrypto::wrapKey): (WebCore::SubtleCrypto::unwrapKey): * crypto/SubtleCrypto.h: * crypto/SubtleCrypto.idl: * css/CSSFontFace.h: * dom/CustomElementReactionQueue.cpp: (WebCore::CustomElementReactionQueue::ElementQueue::processQueue): (WebCore::CustomElementReactionStack::processQueue): * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionStack::CustomElementReactionStack): * dom/Document.cpp: (WebCore::Document::shouldBypassMainWorldContentSecurityPolicy const): (WebCore::Document::addMessage): * dom/Document.h: * dom/Element.cpp: (WebCore::Element::shadowRootForBindings const): (WebCore::Element::animate): * dom/Element.h: * dom/Element.idl: * dom/ErrorEvent.cpp: (WebCore::ErrorEvent::error): (WebCore::ErrorEvent::trySerializeError): * dom/ErrorEvent.h: * dom/ErrorEvent.idl: * dom/MessagePort.cpp: (WebCore::MessagePort::postMessage): * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseEvent.cpp: (WebCore::MouseEvent::initMouseEventQuirk): * dom/MouseEvent.h: * dom/MouseEvent.idl: * dom/PopStateEvent.cpp: (WebCore::PopStateEvent::trySerializeState): * dom/PopStateEvent.h: * dom/RejectedPromiseTracker.cpp: (WebCore::createScriptCallStackFromReason): (WebCore::RejectedPromiseTracker::promiseRejected): (WebCore::RejectedPromiseTracker::promiseHandled): (WebCore::RejectedPromiseTracker::reportUnhandledRejections): * dom/RejectedPromiseTracker.h: * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::reportUnhandledPromiseRejection): (WebCore::ScriptExecutionContext::addConsoleMessage): (WebCore::ScriptExecutionContext::execState): * dom/ScriptExecutionContext.h: * dom/make_event_factory.pl: (generateImplementation): * domjit/DOMJITHelpers.h: (WebCore::DOMJIT::toWrapperSlow): * domjit/DOMJITIDLConvert.h: (WebCore::DOMJIT::DirectConverter<IDLDOMString>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLAtomStringAdaptor<IDLDOMString>>::directConvert): (WebCore::DOMJIT::DirectConverter<IDLRequiresExistingAtomStringAdaptor<IDLDOMString>>::directConvert): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::getContext): * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFrameElement.idl: * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::setLocation): * html/HTMLFrameElementBase.h: * html/HTMLMediaElement.cpp: (WebCore::controllerJSValue): (WebCore::HTMLMediaElement::setupAndCallJS): (WebCore::HTMLMediaElement::updateCaptionContainer): (WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript): (WebCore::HTMLMediaElement::setControllerJSProperty): (WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): (WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange): (WebCore::HTMLMediaElement::getCurrentMediaControlsStatus): * html/HTMLMediaElement.h: * html/HTMLPlugInImageElement.cpp: (WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): * html/OffscreenCanvas.h: * html/OffscreenCanvas.idl: * html/canvas/WebGLAny.h: * html/track/DataCue.cpp: (WebCore::DataCue::value const): (WebCore::DataCue::setValue): * html/track/DataCue.h: * html/track/DataCue.idl: * inspector/CommandLineAPIHost.cpp: (WebCore::CommandLineAPIHost::inspect): (WebCore::CommandLineAPIHost::getEventListeners): (WebCore::CommandLineAPIHost::InspectableObject::get): (WebCore::CommandLineAPIHost::inspectedObject): (WebCore::CommandLineAPIHost::wrapper): * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIHost.idl: * inspector/CommandLineAPIModule.cpp: (WebCore::CommandLineAPIModule::host const): * inspector/CommandLineAPIModule.h: * inspector/InspectorCanvas.cpp: (WebCore::InspectorCanvas::resolveContext const): * inspector/InspectorCanvas.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::canAccessInspectedScriptState const): * inspector/InspectorController.h: * inspector/InspectorFrontendHost.cpp: (WebCore::InspectorFrontendHost::addSelfToGlobalObjectInWorld): (WebCore::InspectorFrontendHost::showContextMenu): * inspector/InspectorInstrumentation.cpp: (WebCore::InspectorInstrumentation::didPostMessageImpl): (WebCore::InspectorInstrumentation::consoleCountImpl): (WebCore::InspectorInstrumentation::consoleCountResetImpl): (WebCore::InspectorInstrumentation::startConsoleTimingImpl): (WebCore::InspectorInstrumentation::logConsoleTimingImpl): (WebCore::InspectorInstrumentation::stopConsoleTimingImpl): (WebCore::InspectorInstrumentation::startProfilingImpl): (WebCore::InspectorInstrumentation::stopProfilingImpl): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl): * inspector/InspectorInstrumentation.h: (WebCore::InspectorInstrumentation::didPostMessage): (WebCore::InspectorInstrumentation::consoleCount): (WebCore::InspectorInstrumentation::consoleCountReset): (WebCore::InspectorInstrumentation::startConsoleTiming): (WebCore::InspectorInstrumentation::logConsoleTiming): (WebCore::InspectorInstrumentation::stopConsoleTiming): (WebCore::InspectorInstrumentation::startProfiling): (WebCore::InspectorInstrumentation::stopProfiling): (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas): * inspector/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::isContentScript const): (WebCore::PageScriptDebugServer::reportException const): * inspector/PageScriptDebugServer.h: * inspector/WebInjectedScriptHost.cpp: (WebCore::WebInjectedScriptHost::subtype): (WebCore::constructInternalProperty): (WebCore::objectForPaymentOptions): (WebCore::objectForPaymentCurrencyAmount): (WebCore::objectForPaymentItem): (WebCore::objectForPaymentShippingOption): (WebCore::objectForPaymentDetailsModifier): (WebCore::objectForPaymentDetails): (WebCore::WebInjectedScriptHost::getInternalProperties): * inspector/WebInjectedScriptHost.h: * inspector/WebInjectedScriptManager.cpp: (WebCore::WebInjectedScriptManager::discardInjectedScriptsFor): * inspector/WorkerInspectorController.h: * inspector/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::reportException const): * inspector/WorkerScriptDebugServer.h: * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas): * inspector/agents/InspectorCanvasAgent.h: * inspector/agents/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::focusNode): (WebCore::InspectorDOMAgent::buildObjectForEventListener): (WebCore::InspectorDOMAgent::nodeAsScriptValue): * inspector/agents/InspectorDOMAgent.h: * inspector/agents/InspectorIndexedDBAgent.cpp: * inspector/agents/InspectorNetworkAgent.cpp: (WebCore::webSocketAsScriptValue): * inspector/agents/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::startFromConsole): (WebCore::InspectorTimelineAgent::stopFromConsole): (WebCore::InspectorTimelineAgent::breakpointActionProbe): * inspector/agents/InspectorTimelineAgent.h: * inspector/agents/WebConsoleAgent.cpp: (WebCore::WebConsoleAgent::frameWindowDiscarded): * inspector/agents/WebDebuggerAgent.cpp: (WebCore::WebDebuggerAgent::didAddEventListener): (WebCore::WebDebuggerAgent::didPostMessage): * inspector/agents/WebDebuggerAgent.h: * inspector/agents/page/PageAuditAgent.cpp: (WebCore::PageAuditAgent::injectedScriptForEval): (WebCore::PageAuditAgent::populateAuditObject): * inspector/agents/page/PageAuditAgent.h: * inspector/agents/page/PageDebuggerAgent.cpp: (WebCore::PageDebuggerAgent::breakpointActionLog): (WebCore::PageDebuggerAgent::injectedScriptForEval): (WebCore::PageDebuggerAgent::didRequestAnimationFrame): * inspector/agents/page/PageDebuggerAgent.h: * inspector/agents/page/PageRuntimeAgent.cpp: (WebCore::PageRuntimeAgent::injectedScriptForEval): (WebCore::PageRuntimeAgent::reportExecutionContextCreation): (WebCore::PageRuntimeAgent::notifyContextCreated): * inspector/agents/page/PageRuntimeAgent.h: * inspector/agents/worker/WorkerAuditAgent.cpp: (WebCore::WorkerAuditAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.cpp: (WebCore::WorkerDebuggerAgent::breakpointActionLog): (WebCore::WorkerDebuggerAgent::injectedScriptForEval): * inspector/agents/worker/WorkerDebuggerAgent.h: * inspector/agents/worker/WorkerRuntimeAgent.cpp: (WebCore::WorkerRuntimeAgent::injectedScriptForEval): * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * page/DOMWindow.idl: * page/PageConsoleClient.cpp: (WebCore::PageConsoleClient::addMessage): (WebCore::PageConsoleClient::messageWithTypeAndLevel): (WebCore::PageConsoleClient::count): (WebCore::PageConsoleClient::countReset): (WebCore::PageConsoleClient::profile): (WebCore::PageConsoleClient::profileEnd): (WebCore::PageConsoleClient::takeHeapSnapshot): (WebCore::PageConsoleClient::time): (WebCore::PageConsoleClient::timeLog): (WebCore::PageConsoleClient::timeEnd): (WebCore::PageConsoleClient::timeStamp): (WebCore::PageConsoleClient::record): (WebCore::PageConsoleClient::recordEnd): (WebCore::PageConsoleClient::screenshot): * page/PageConsoleClient.h: * page/RemoteDOMWindow.cpp: (WebCore::RemoteDOMWindow::postMessage): * page/RemoteDOMWindow.h: * page/RemoteDOMWindow.idl: * page/WindowOrWorkerGlobalScope.idl: * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allowEval const): (WebCore::ContentSecurityPolicy::reportViolation const): (WebCore::ContentSecurityPolicy::logToConsole const): * page/csp/ContentSecurityPolicy.h: * platform/SerializedPlatformRepresentation.h: * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::ThreadGlobalData::currentState const): (WebCore::ThreadGlobalData::ThreadGlobalData::setCurrentState): * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::doCustomPaint): * platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm: * platform/mac/SerializedPlatformRepresentationMac.h: * platform/mac/SerializedPlatformRepresentationMac.mm: (WebCore::SerializedPlatformRepresentationMac::deserialize const): (WebCore::jsValueWithDataInContext): * platform/mock/mediasource/MockBox.cpp: * plugins/PluginViewBase.h: * testing/Internals.cpp: (WebCore::Internals::parserMetaData): (WebCore::Internals::isFromCurrentWorld const): (WebCore::Internals::isReadableStreamDisturbed): (WebCore::Internals::cloneArrayBuffer): * testing/Internals.h: * testing/Internals.idl: * testing/js/WebCoreTestSupport.cpp: (WebCoreTestSupport::injectInternalsObject): (WebCoreTestSupport::resetInternalsObject): * workers/DedicatedWorkerGlobalScope.cpp: (WebCore::DedicatedWorkerGlobalScope::postMessage): * workers/DedicatedWorkerGlobalScope.h: * workers/DedicatedWorkerGlobalScope.idl: * workers/Worker.cpp: (WebCore::Worker::postMessage): * workers/Worker.h: * workers/Worker.idl: * workers/WorkerConsoleClient.cpp: (WebCore::WorkerConsoleClient::messageWithTypeAndLevel): (WebCore::WorkerConsoleClient::count): (WebCore::WorkerConsoleClient::countReset): (WebCore::WorkerConsoleClient::time): (WebCore::WorkerConsoleClient::timeLog): (WebCore::WorkerConsoleClient::timeEnd): (WebCore::WorkerConsoleClient::profile): (WebCore::WorkerConsoleClient::profileEnd): (WebCore::WorkerConsoleClient::takeHeapSnapshot): (WebCore::WorkerConsoleClient::timeStamp): (WebCore::WorkerConsoleClient::record): (WebCore::WorkerConsoleClient::recordEnd): (WebCore::WorkerConsoleClient::screenshot): * workers/WorkerConsoleClient.h: * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::setTimeout): (WebCore::WorkerGlobalScope::setInterval): (WebCore::WorkerGlobalScope::addMessage): * workers/WorkerGlobalScope.h: * workers/service/ExtendableEvent.cpp: * workers/service/ExtendableMessageEvent.cpp: (WebCore::ExtendableMessageEvent::ExtendableMessageEvent): * workers/service/ExtendableMessageEvent.h: * workers/service/FetchEvent.cpp: (WebCore::FetchEvent::promiseIsSettled): * worklets/PaintWorkletGlobalScope.cpp: (WebCore::PaintWorkletGlobalScope::registerPaint): * worklets/PaintWorkletGlobalScope.h: * worklets/PaintWorkletGlobalScope.idl: * worklets/WorkletConsoleClient.cpp: (WebCore::WorkletConsoleClient::messageWithTypeAndLevel): (WebCore::WorkletConsoleClient::count): (WebCore::WorkletConsoleClient::countReset): (WebCore::WorkletConsoleClient::time): (WebCore::WorkletConsoleClient::timeLog): (WebCore::WorkletConsoleClient::timeEnd): (WebCore::WorkletConsoleClient::profile): (WebCore::WorkletConsoleClient::profileEnd): (WebCore::WorkletConsoleClient::takeHeapSnapshot): (WebCore::WorkletConsoleClient::timeStamp): (WebCore::WorkletConsoleClient::record): (WebCore::WorkletConsoleClient::recordEnd): (WebCore::WorkletConsoleClient::screenshot): * worklets/WorkletConsoleClient.h: * worklets/WorkletGlobalScope.cpp: (WebCore::WorkletGlobalScope::addMessage): * worklets/WorkletGlobalScope.h: * worklets/WorkletScriptController.cpp: (WebCore::WorkletScriptController::evaluate): (WebCore::WorkletScriptController::setException): Source/WebKit: * WebProcess/InjectedBundle/API/glib/WebKitFrame.cpp: (webkit_frame_get_js_value_for_dom_object_in_script_world): * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::reportException): (WebKit::InjectedBundle::createWebDataFromUint8Array): * WebProcess/Plugins/Netscape/JSNPMethod.cpp: (WebKit::callMethod): * WebProcess/Plugins/Netscape/JSNPMethod.h: * WebProcess/Plugins/Netscape/JSNPObject.cpp: (WebKit::JSNPObject::callMethod): (WebKit::JSNPObject::callObject): (WebKit::JSNPObject::callConstructor): (WebKit::callNPJSObject): (WebKit::constructWithConstructor): (WebKit::JSNPObject::getOwnPropertySlot): (WebKit::JSNPObject::put): (WebKit::JSNPObject::deleteProperty): (WebKit::JSNPObject::deletePropertyByIndex): (WebKit::JSNPObject::getOwnPropertyNames): (WebKit::JSNPObject::propertyGetter): (WebKit::JSNPObject::methodGetter): (WebKit::JSNPObject::throwInvalidAccessError): * WebProcess/Plugins/Netscape/JSNPObject.h: * WebProcess/Plugins/Netscape/NPJSObject.cpp: (WebKit::identifierFromIdentifierRep): (WebKit::NPJSObject::hasMethod): (WebKit::NPJSObject::invoke): (WebKit::NPJSObject::invokeDefault): (WebKit::NPJSObject::hasProperty): (WebKit::NPJSObject::getProperty): (WebKit::NPJSObject::setProperty): (WebKit::NPJSObject::removeProperty): (WebKit::NPJSObject::enumerate): (WebKit::NPJSObject::construct): * WebProcess/Plugins/Netscape/NPJSObject.h: * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: (WebKit::NPRuntimeObjectMap::convertNPVariantToJSValue): (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant): (WebKit::NPRuntimeObjectMap::evaluate): (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState): (WebKit::NPRuntimeObjectMap::globalExec const): Deleted. * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h: * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): * WebProcess/WebPage/WebFrame.cpp: (WebKit::WebFrame::jsContext): (WebKit::WebFrame::jsContextForWorld): (WebKit::WebFrame::frameForContext): (WebKit::WebFrame::jsWrapperForWorld): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::freezeLayerTree): (WebKit::WebPage::unfreezeLayerTree): (WebKit::WebPage::runJavaScript): * WebProcess/WebProcess.cpp: (WebKit::WebProcess::networkProcessConnectionClosed): Source/WebKitLegacy/mac: * DOM/DOMInternal.mm: (-[WebScriptObject _initializeScriptDOMNodeImp]): * DOM/WebDOMOperations.mm: * Plugins/Hosted/NetscapePluginInstanceProxy.h: * Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::evaluate): (WebKit::NetscapePluginInstanceProxy::invoke): (WebKit::NetscapePluginInstanceProxy::invokeDefault): (WebKit::NetscapePluginInstanceProxy::construct): (WebKit::NetscapePluginInstanceProxy::getProperty): (WebKit::NetscapePluginInstanceProxy::setProperty): (WebKit::NetscapePluginInstanceProxy::removeProperty): (WebKit::NetscapePluginInstanceProxy::hasProperty): (WebKit::NetscapePluginInstanceProxy::hasMethod): (WebKit::NetscapePluginInstanceProxy::enumerate): (WebKit::NetscapePluginInstanceProxy::addValueToArray): (WebKit::NetscapePluginInstanceProxy::marshalValue): (WebKit::NetscapePluginInstanceProxy::marshalValues): (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray): (WebKit::NetscapePluginInstanceProxy::demarshalValue): (WebKit::NetscapePluginInstanceProxy::demarshalValues): (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState): * Plugins/Hosted/ProxyInstance.h: * Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyField::valueFromInstance const): (WebKit::ProxyField::setValueToInstance const): (WebKit::ProxyInstance::newRuntimeObject): (WebKit::ProxyInstance::invoke): (WebKit::ProxyRuntimeMethod::create): (WebKit::ProxyInstance::getMethod): (WebKit::ProxyInstance::invokeMethod): (WebKit::ProxyInstance::invokeDefaultMethod): (WebKit::ProxyInstance::invokeConstruct): (WebKit::ProxyInstance::defaultValue const): (WebKit::ProxyInstance::stringValue const): (WebKit::ProxyInstance::numberValue const): (WebKit::ProxyInstance::valueOf const): (WebKit::ProxyInstance::getPropertyNames): (WebKit::ProxyInstance::fieldValue const): (WebKit::ProxyInstance::setFieldValue const): * WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]): (-[WebFrame _globalContextForScriptWorld:]): (-[WebFrame jsWrapperForNode:inScriptWorld:]): (-[WebFrame globalContext]): * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): * WebView/WebView.mm: (+[WebView _reportException:inContext:]): (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Source/WebKitLegacy/win: * Plugins/PluginPackage.cpp: (WebCore::getListFromVariantArgs): (WebCore::NPN_Evaluate): (WebCore::NPN_Invoke): * Plugins/PluginView.cpp: (WebCore::PluginView::performRequest): * WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld): * WebFrame.cpp: (WebFrame::globalContext): (WebFrame::globalContextForScriptWorld): (WebFrame::stringByEvaluatingJavaScriptInScriptWorld): * WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): (WebView::reportException): (WebView::elementFromJS): Tools: * DumpRenderTree/TestRunner.cpp: Canonical link: https://commits.webkit.org/216662@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@251425 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-10-22 09:24:48 +00:00
IGNORE_WARNINGS_END
FTL should sink object allocations https://bugs.webkit.org/show_bug.cgi?id=136330 Reviewed by Oliver Hunt. Source/JavaScriptCore: This adds a comprehensive infrastructure for sinking object allocations in DFG SSA form. The ultimate goal of sinking is to sink an allocation "past the points of its death" - i.e. to eliminate it completely. The way sinking reasons about the CFG means that it resembles a partial escape analysis: we create paths through a function where some allocation(s) don't have to be done at all even if there are other paths along which those allocations still have to happen. But it also produces other side benefits. Even if an allocation isn't eliminated along any path, the act of sinking reduces the number of barriers that have to execute. Because this was a fairly ambituous SSA analysis and transformation, I added a bunch of C++11 sugar to the DFG's internal APIs to allow for easier iteration over blocks, nodes, and successors; and to add more functor goodness to allow for more lambdas. This is just the beginning. The bug has a bunch of other bugs that depend on it. So far this is a spectacular speed-up on microbenchmarks but it's still too limited to affect big benchmarks. For example, doing o == p makes the sinking phase think that o and p escape. That's just an omission and there are likely others; we can easily fix them. I think it's best to land it in its current form and then to worry about the big benchmarks in subsequent work (see bug 137126). * CMakeLists.txt: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecode/StructureSet.h: (JSC::StructureSet::iterator::iterator): (JSC::StructureSet::iterator::operator*): (JSC::StructureSet::iterator::operator++): (JSC::StructureSet::iterator::operator==): (JSC::StructureSet::iterator::operator!=): (JSC::StructureSet::begin): (JSC::StructureSet::end): * dfg/DFGAbstractInterpreter.h: (JSC::DFG::AbstractInterpreter::phiChildren): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter): (JSC::DFG::AbstractInterpreter<AbstractStateType>::startExecuting): (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): (JSC::DFG::AbstractInterpreter<AbstractStateType>::execute): * dfg/DFGAvailability.h: (JSC::DFG::Availability::shouldUseNode): (JSC::DFG::Availability::isFlushUseful): (JSC::DFG::Availability::isDead): (JSC::DFG::Availability::operator!=): * dfg/DFGAvailabilityMap.cpp: Added. (JSC::DFG::AvailabilityMap::prune): (JSC::DFG::AvailabilityMap::clear): (JSC::DFG::AvailabilityMap::dump): (JSC::DFG::AvailabilityMap::operator==): (JSC::DFG::AvailabilityMap::merge): * dfg/DFGAvailabilityMap.h: Added. (JSC::DFG::AvailabilityMap::forEachAvailability): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::SSAData::SSAData): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::begin): (JSC::DFG::BasicBlock::end): (JSC::DFG::BasicBlock::SuccessorsIterable::SuccessorsIterable): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::iterator): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator*): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator++): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator==): (JSC::DFG::BasicBlock::SuccessorsIterable::iterator::operator!=): (JSC::DFG::BasicBlock::SuccessorsIterable::begin): (JSC::DFG::BasicBlock::SuccessorsIterable::end): (JSC::DFG::BasicBlock::successors): * dfg/DFGClobberize.h: (JSC::DFG::clobberize): * dfg/DFGConstantFoldingPhase.cpp: (JSC::DFG::ConstantFoldingPhase::foldConstants): * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGFlushedAt.cpp: (JSC::DFG::FlushedAt::dump): * dfg/DFGFlushedAt.h: (JSC::DFG::FlushedAt::FlushedAt): * dfg/DFGGraph.cpp: (JSC::DFG::Graph::dump): (JSC::DFG::Graph::dumpBlockHeader): (JSC::DFG::Graph::mergeRelevantToOSR): (JSC::DFG::Graph::invalidateCFG): * dfg/DFGGraph.h: (JSC::DFG::Graph::NaturalBlockIterable::NaturalBlockIterable): (JSC::DFG::Graph::NaturalBlockIterable::iterator::iterator): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator*): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator++): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator==): (JSC::DFG::Graph::NaturalBlockIterable::iterator::operator!=): (JSC::DFG::Graph::NaturalBlockIterable::iterator::findNext): (JSC::DFG::Graph::NaturalBlockIterable::begin): (JSC::DFG::Graph::NaturalBlockIterable::end): (JSC::DFG::Graph::blocksInNaturalOrder): (JSC::DFG::Graph::doToChildrenWithNode): (JSC::DFG::Graph::doToChildren): * dfg/DFGHeapLocation.cpp: (WTF::printInternal): * dfg/DFGHeapLocation.h: * dfg/DFGInsertOSRHintsForUpdate.cpp: Added. (JSC::DFG::insertOSRHintsForUpdate): * dfg/DFGInsertOSRHintsForUpdate.h: Added. * dfg/DFGInsertionSet.h: (JSC::DFG::InsertionSet::graph): * dfg/DFGMayExit.cpp: (JSC::DFG::mayExit): * dfg/DFGNode.h: (JSC::DFG::Node::convertToPutByOffsetHint): (JSC::DFG::Node::convertToPutStructureHint): (JSC::DFG::Node::convertToPhantomNewObject): (JSC::DFG::Node::isCellConstant): (JSC::DFG::Node::castConstant): (JSC::DFG::Node::hasIdentifier): (JSC::DFG::Node::hasStorageAccessData): (JSC::DFG::Node::hasObjectMaterializationData): (JSC::DFG::Node::objectMaterializationData): (JSC::DFG::Node::isPhantomObjectAllocation): * dfg/DFGNodeType.h: * dfg/DFGOSRAvailabilityAnalysisPhase.cpp: (JSC::DFG::OSRAvailabilityAnalysisPhase::run): (JSC::DFG::LocalOSRAvailabilityCalculator::endBlock): (JSC::DFG::LocalOSRAvailabilityCalculator::executeNode): * dfg/DFGOSRAvailabilityAnalysisPhase.h: * dfg/DFGObjectAllocationSinkingPhase.cpp: Added. (JSC::DFG::ObjectAllocationSinkingPhase::ObjectAllocationSinkingPhase): (JSC::DFG::ObjectAllocationSinkingPhase::run): (JSC::DFG::ObjectAllocationSinkingPhase::performSinking): (JSC::DFG::ObjectAllocationSinkingPhase::determineMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::placeMaterializationPoints): (JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations): (JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields): (JSC::DFG::ObjectAllocationSinkingPhase::resolve): (JSC::DFG::ObjectAllocationSinkingPhase::handleNode): (JSC::DFG::ObjectAllocationSinkingPhase::createMaterialize): (JSC::DFG::ObjectAllocationSinkingPhase::populateMaterialize): (JSC::DFG::performObjectAllocationSinking): * dfg/DFGObjectAllocationSinkingPhase.h: Added. * dfg/DFGObjectMaterializationData.cpp: Added. (JSC::DFG::PhantomPropertyValue::dump): (JSC::DFG::ObjectMaterializationData::dump): (JSC::DFG::ObjectMaterializationData::oneWaySimilarityScore): (JSC::DFG::ObjectMaterializationData::similarityScore): * dfg/DFGObjectMaterializationData.h: Added. (JSC::DFG::PhantomPropertyValue::PhantomPropertyValue): (JSC::DFG::PhantomPropertyValue::operator==): * dfg/DFGPhantomCanonicalizationPhase.cpp: (JSC::DFG::PhantomCanonicalizationPhase::run): * dfg/DFGPhantomRemovalPhase.cpp: (JSC::DFG::PhantomRemovalPhase::run): * dfg/DFGPhiChildren.cpp: Added. (JSC::DFG::PhiChildren::PhiChildren): (JSC::DFG::PhiChildren::~PhiChildren): (JSC::DFG::PhiChildren::upsilonsOf): * dfg/DFGPhiChildren.h: Added. (JSC::DFG::PhiChildren::forAllIncomingValues): (JSC::DFG::PhiChildren::forAllTransitiveIncomingValues): * dfg/DFGPlan.cpp: (JSC::DFG::Plan::compileInThreadImpl): * dfg/DFGPrePostNumbering.cpp: Added. (JSC::DFG::PrePostNumbering::PrePostNumbering): (JSC::DFG::PrePostNumbering::~PrePostNumbering): (JSC::DFG::PrePostNumbering::compute): (WTF::printInternal): * dfg/DFGPrePostNumbering.h: Added. (JSC::DFG::PrePostNumbering::preNumber): (JSC::DFG::PrePostNumbering::postNumber): (JSC::DFG::PrePostNumbering::isStrictAncestorOf): (JSC::DFG::PrePostNumbering::isAncestorOf): (JSC::DFG::PrePostNumbering::isStrictDescendantOf): (JSC::DFG::PrePostNumbering::isDescendantOf): (JSC::DFG::PrePostNumbering::edgeKind): * dfg/DFGPredictionPropagationPhase.cpp: (JSC::DFG::PredictionPropagationPhase::propagate): * dfg/DFGPromoteHeapAccess.h: Added. (JSC::DFG::promoteHeapAccess): * dfg/DFGPromotedHeapLocation.cpp: Added. (JSC::DFG::PromotedLocationDescriptor::dump): (JSC::DFG::PromotedHeapLocation::createHint): (JSC::DFG::PromotedHeapLocation::dump): (WTF::printInternal): * dfg/DFGPromotedHeapLocation.h: Added. (JSC::DFG::PromotedLocationDescriptor::PromotedLocationDescriptor): (JSC::DFG::PromotedLocationDescriptor::operator!): (JSC::DFG::PromotedLocationDescriptor::kind): (JSC::DFG::PromotedLocationDescriptor::info): (JSC::DFG::PromotedLocationDescriptor::hash): (JSC::DFG::PromotedLocationDescriptor::operator==): (JSC::DFG::PromotedLocationDescriptor::operator!=): (JSC::DFG::PromotedLocationDescriptor::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocation::PromotedHeapLocation): (JSC::DFG::PromotedHeapLocation::operator!): (JSC::DFG::PromotedHeapLocation::kind): (JSC::DFG::PromotedHeapLocation::base): (JSC::DFG::PromotedHeapLocation::info): (JSC::DFG::PromotedHeapLocation::descriptor): (JSC::DFG::PromotedHeapLocation::hash): (JSC::DFG::PromotedHeapLocation::operator==): (JSC::DFG::PromotedHeapLocation::isHashTableDeletedValue): (JSC::DFG::PromotedHeapLocationHash::hash): (JSC::DFG::PromotedHeapLocationHash::equal): * dfg/DFGSSACalculator.cpp: (JSC::DFG::SSACalculator::reset): * dfg/DFGSSACalculator.h: * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): * dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * dfg/DFGStructureRegistrationPhase.cpp: (JSC::DFG::StructureRegistrationPhase::run): * dfg/DFGValidate.cpp: (JSC::DFG::Validate::validate): * ftl/FTLCapabilities.cpp: (JSC::FTL::canCompile): * ftl/FTLExitPropertyValue.cpp: Added. (JSC::FTL::ExitPropertyValue::dump): * ftl/FTLExitPropertyValue.h: Added. (JSC::FTL::ExitPropertyValue::ExitPropertyValue): (JSC::FTL::ExitPropertyValue::operator!): (JSC::FTL::ExitPropertyValue::location): (JSC::FTL::ExitPropertyValue::value): * ftl/FTLExitTimeObjectMaterialization.cpp: Added. (JSC::FTL::ExitTimeObjectMaterialization::ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::~ExitTimeObjectMaterialization): (JSC::FTL::ExitTimeObjectMaterialization::add): (JSC::FTL::ExitTimeObjectMaterialization::get): (JSC::FTL::ExitTimeObjectMaterialization::dump): * ftl/FTLExitTimeObjectMaterialization.h: Added. (JSC::FTL::ExitTimeObjectMaterialization::type): (JSC::FTL::ExitTimeObjectMaterialization::properties): * ftl/FTLExitValue.cpp: (JSC::FTL::ExitValue::materializeNewObject): (JSC::FTL::ExitValue::dumpInContext): * ftl/FTLExitValue.h: (JSC::FTL::ExitValue::isObjectMaterialization): (JSC::FTL::ExitValue::objectMaterialization): (JSC::FTL::ExitValue::withVirtualRegister): (JSC::FTL::ExitValue::valueFormat): * ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::compileNode): (JSC::FTL::LowerDFGToLLVM::compileCheckStructure): (JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure): (JSC::FTL::LowerDFGToLLVM::compilePutStructure): (JSC::FTL::LowerDFGToLLVM::compileNewObject): (JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset): (JSC::FTL::LowerDFGToLLVM::compileMultiPutByOffset): (JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint): (JSC::FTL::LowerDFGToLLVM::compileCheckStructureImmediate): (JSC::FTL::LowerDFGToLLVM::compileMaterializeNewObject): (JSC::FTL::LowerDFGToLLVM::checkStructure): (JSC::FTL::LowerDFGToLLVM::allocateCell): (JSC::FTL::LowerDFGToLLVM::storeStructure): (JSC::FTL::LowerDFGToLLVM::allocateObject): (JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID): (JSC::FTL::LowerDFGToLLVM::appendOSRExit): (JSC::FTL::LowerDFGToLLVM::buildExitArguments): (JSC::FTL::LowerDFGToLLVM::exitValueForAvailability): (JSC::FTL::LowerDFGToLLVM::exitValueForNode): (JSC::FTL::LowerDFGToLLVM::weakStructureID): (JSC::FTL::LowerDFGToLLVM::weakStructure): (JSC::FTL::LowerDFGToLLVM::availabilityMap): (JSC::FTL::LowerDFGToLLVM::availability): Deleted. * ftl/FTLOSRExit.h: * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileRecovery): (JSC::FTL::compileStub): * ftl/FTLOperations.cpp: Added. (JSC::FTL::operationNewObjectWithButterfly): (JSC::FTL::operationMaterializeObjectInOSR): * ftl/FTLOperations.h: Added. * ftl/FTLSwitchCase.h: (JSC::FTL::SwitchCase::SwitchCase): * runtime/JSObject.h: (JSC::JSObject::finishCreation): (JSC::JSFinalObject::JSFinalObject): (JSC::JSFinalObject::create): * runtime/Structure.cpp: (JSC::Structure::canUseForAllocationsOf): * runtime/Structure.h: * tests/stress/elidable-new-object-roflcopter-then-exit.js: Added. (sumOfArithSeries): (foo): * tests/stress/elide-new-object-dag-then-exit.js: Added. (sumOfArithSeries): (bar): (verify): (foo): * tests/stress/obviously-elidable-new-object-then-exit.js: Added. (sumOfArithSeries): (foo): Source/WTF: Make it possible to reset a Bag. * wtf/Bag.h: (WTF::Bag::Bag): (WTF::Bag::~Bag): (WTF::Bag::clear): LayoutTests: * js/math-denorm.html: Added. * js/regress/elidable-new-object-dag-expected.txt: Added. * js/regress/elidable-new-object-dag.html: Added. * js/regress/elidable-new-object-roflcopter-expected.txt: Added. * js/regress/elidable-new-object-roflcopter.html: Added. * js/regress/elidable-new-object-tree-expected.txt: Added. * js/regress/elidable-new-object-tree.html: Added. * js/regress/obvious-sink-pathology-expected.txt: Added. * js/regress/obvious-sink-pathology-taken-expected.txt: Added. * js/regress/obvious-sink-pathology-taken.html: Added. * js/regress/obvious-sink-pathology.html: Added. * js/regress/obviously-elidable-new-object-expected.txt: Added. * js/regress/obviously-elidable-new-object.html: Added. * js/regress/script-tests/elidable-new-object-dag.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-roflcopter.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/elidable-new-object-tree.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/obvious-sink-pathology-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obvious-sink-pathology.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/obviously-elidable-new-object.js: Added. (sumOfArithSeries): (foo): * js/regress/script-tests/sinkable-new-object-dag.js: Added. (sumOfArithSeries): (verify): (foo): * js/regress/script-tests/sinkable-new-object-taken.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/script-tests/sinkable-new-object.js: Added. (sumOfArithSeries): (bar): (foo): * js/regress/sinkable-new-object-dag-expected.txt: Added. * js/regress/sinkable-new-object-dag.html: Added. * js/regress/sinkable-new-object-expected.txt: Added. * js/regress/sinkable-new-object-taken-expected.txt: Added. * js/regress/sinkable-new-object-taken.html: Added. * js/regress/sinkable-new-object.html: Added. Canonical link: https://commits.webkit.org/154946@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@173993 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-09-26 03:59:33 +00:00
#endif // ENABLE(FTL_JIT)